I have a following class
public class People
{
public int id;
public string nameHash;
public string name;
}
I need to create a custom collection, consisting of objects of class People, that lets me retrieve elements by its id and nameHash. The collection must have the ability to iterate through its elements using foreach:
foreach (People person in PeopleCollection) { ... }
How do I do that? If you can not give a detailed answer, at least give a brief plan of action. Thanks in advance!
If you’re talking about a large collection and you want faster lookups based on an integer
Idor a stringNameHashfield while still supporting theforeach (Foo f in fooCollection)pattern, then you can roll your own collection that wraps a pair of dictionaries. Crude implementation, not thoroughly tested:…
Of course, if you’re dealing with a small-ish collection, you could very well simply use a
List<T>and utilize either LINQ or theFindmethods already defined. Such as