Вам нужно будет использовать Dictionary<TKey,TValue>
, где TKey
построено на типе поиска.Однако если вы используете что-то вроде FirstName
в качестве поискового запроса, у вас может быть несколько значений с одним и тем же ключом, что вызовет проблемы.
Потенциально лучшим вариантом будет использование ToLookup для генерации ILookup
для вас.Например:
IEnumerable<Person> people = GetPeople();
var nameLookup = people.ToLookup(p => p.FirstName);
Вы можете сделать:
var peopleNamedFred = nameLookup["Fred"];
foreach(var fred in peopleNamedFred)
Console.WriteLine("{0} {1}, fred.FirstName, fred.LastName);