Если вы работаете с .NET 4.0, вы можете использовать кортежи в качестве ключей.
var dict = new Dictionary<Tuple<int,int,int>,MyValueType>();
Затем вы можете проверить, существует ли значение с
var key = new Tuple<int,int,int>(item.itemid, DateRange.Month, DateRange.Year);
if(dict.ContainsKey(key)) {
...
}
Или вы можете проверить
if(dict.ContainsValue(referenceValue)) {
...
}
Вам нужно будет передать ему справочное значение, содержащее то, что вы ищете.Убедитесь, что ваш тип значения реализует EqualityComparer<T>
.
Первый метод будет намного быстрее, так как доступ к словарю осуществляется с помощью ключа.Если вы не получаете доступ к словарю по ключу, вы также можете использовать List<T>
.