Как выбрать экземпляр из списка в C # - PullRequest
0 голосов
/ 13 октября 2010

у меня есть структура, у которой есть список элементов и некоторые другие переменные о структуре

Я хочу убедиться, что перечисление в списке имеет определенное значение или нет.

как

struct.list.havevalue == 5;

как я могу подсчитать всех, у кого есть конкретное значение в enum в itemlist структуры

Ответы [ 3 ]

6 голосов
/ 13 октября 2010

Ваш вопрос не совсем понятен, но звучит так, как будто вы могли бы захотеть использовать LINQ:

int count = x.list.Count(v => v.Value == 5);

Но без какой-либо более конкретной информации о типах очень сложно сказать. Если бы вы могли предоставить более подробную информацию - например, описание задействованных типов - это действительно помогло бы.

Кстати, для структуры очень странно содержать список. Вы действительно уверены, что хотите использовать структуру, а не класс?

0 голосов
/ 13 октября 2010

List.IndexOf (T) метод поможет вам. текст ссылки

Обратите внимание, что этот метод (как и любое из предложенных решений Linq) является операцией O (n).Поэтому, если вас беспокоит производительность процедуры поиска, вы можете рассмотреть возможность преобразования List в HashSet или любую другую коллекцию на основе хеш-таблиц в зависимости от ваших требований.

0 голосов
/ 13 октября 2010

Если вы под «списком» подразумеваете IList<int> или что-то подобное, это будет выглядеть так:

struct.list.Count(i => i == 5);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...