У меня есть словарь:
private Dictionary<MetaInfoValueGroupTag, List<object>> checkedMetainfoValues;
Как видите, класс Key — это MetaInfoValueGroupTag
:
private class MetaInfoValueGroupTag
{
private string metainfo;
//...
public string MetaInfo
{
get { return metainfo; }
set { metainfo = value; }
}
//...
}
Мне нужно получить Value
с помощью строкового объекта. Итак, мне нужно проверить, существует ли ключ в соответствии с string
.
Это string
значение представляет собой Metainfo property string
содержимое MetaInfoValueGroupTag
ключевого объекта словаря.
List<object> values = null;
this.checkedMetainfoValues.TryGetValue("metainfo_sample", out values);
Я не хочу писать это:
List<object> values = null;
this.checkedMetainfoValues.TryGetValue(new MetaInfoValueGroupTag("metainfo_sample"),
out values);
Я хочу избежать создания нового объекта дампа key
для получения его значений.
Я полагаю, что должна быть возможна реализация IComparer
или использование AnonymousComparer.
MetaInfoValueGroupTag
s, почему бы не ввести словарь с помощьюstring
? - person AakashM   schedule 04.09.2015MetaInfoValueGroupTags
иList<object>
. - person CodingFeles   schedule 04.09.2015MetaInfoValueGroupTags
в качестве ключа, а не его строковое представлениеMetaInfo
, учитывая тот факт, что он уникален? Используете ли вы какое-либо другое свойство внутри вашего класса для равенства? - person Yuval Itzchakov   schedule 04.09.2015MetaInfo
, тоnew MetaInfoValueGroupTag("metainfo_sample")
не будет работать, если толькоGetHashCode
явно не использует толькоMetaInfo
. - person CodingFeles   schedule 04.09.2015