У меня есть класс, скажем Player
, с именем и некоторыми атрибутами:IEnumerable реализация только для словаря значений
public class Players
{
public string PlayerName { get; set; }
public IList<Goal> Goals { get; set; }
...
}
Я хочу, чтобы создать пользовательский класс коллекции, PlayerCollection
, но с использованием словаря вместо список для более быстрого поиска. Таким образом:
public class PlayersCollection
{
private readonly IDIctionary<string, Player> _players;
....
Использование словаря с именем игрока в качестве ключа облегчит работу в остальной части моей программы. Теперь я хотел бы реализовать IEnumerable<Player>
, чтобы перебирать класс игрока, но я не могу использовать перечислитель словаря, потому что он реализован на KeyValuePair<string, Player>
.
Как я могу это сделать?
'.select (х => x.Value)' –
просто возвращает '_players.Values.GetEnumerator()' ' –
Dictionary' реализует же' IEnumerable' в виде списка, так что каждый элемент является элементом является KeyValuePair, и здесь Ключ будет именем и значением будет объект –