Здравствуйте. У меня имеется несколько типов данных такого вот вида.
public class SomeClass1
{
public Int32 SomeKeyValue;
public Int32 SomeOtherValue1;
public String SomeOtherValue2;
}
public class SomeClass2
{
public SomeEnum SomeKeyValue;
public Int32 SomeOtherValue1;
public String SomeOtherValue2;
}
Ранее в процессе разработки я использовал обычный массив с LINQ поиском по уникальному ключевому полю. Изначально был выбран массив, тк количество элементов фиксировано и не изменяется в процессе работы программы.
Но далее мне потребовалось ускорить работу и решено было просмотреть другие типы хранилищ.
Мне очень подошел Dictionary, у которого в качестве ключа используется ключевое поля из класса. Но в этом случае мне требуется убрать ключевое поле из класса и хранить его в ключе словаря. Можно конечно не удалять, но оно будет дублироваться.
Вот и сам вопрос, если какое либо хранилище, которое будет хранить набор объектов, а одно из полей объекта использовать в качестве ключа, по которому можно искать?