【发布时间】:2010-10-14 14:02:15
【问题描述】:
我有一个对象,我想用它来查找其他对象。我将使用Dictionary<TKey, TValue>()。
密钥对象有两个唯一标识它的字符串,例如KeyObj.Str1 和KeyObj.Str2。
您建议我使用什么作为字典的键?
1:字符串的串联。
Dictionary<String, TValue>();
Key = KeyObj.Str1:KeyObj.Str2; ("somestring:anotherstring")
2:每个对象都有一个唯一的整数来识别它?
Dictionary<int, TValue>();
KeyObj.ID = _nextID++;
Key = KeyObj.ID;
3:对对象的引用。
Dictionary<KeyObj, TValue>();
Key = KeyObj;
选项 3 将是最简单的,但根据参考值索引字典似乎效率低下。
如果 key 对象包含一个唯一的字符串,那么显而易见的选择是使用它,但是只有两个唯一的字符串组合起来会变得更加困难。
【问题讨论】:
标签: c# .net dictionary indexing key