Rik*_*iko 1 c# dictionary list
假设我有一节课:
class C
{
public int uniqueField;
public int otherField;
}
Run Code Online (Sandbox Code Playgroud)
这是实际问题的非常简化的版本.我想存储此类的多个实例,其中"uniqueField"对于每个实例应该是唯一的.
在这种情况下更好的是什么?
a)以uniqueField为关键字的字典
Dictionary<int, C> d;
Run Code Online (Sandbox Code Playgroud)
或b)清单?
List<C> l;
Run Code Online (Sandbox Code Playgroud)
在第一种情况(a)中,相同的数据将被存储两次(作为键和作为类实例的字段).但问题是:在字典中查找元素比在列表中更快吗?还是同样快?
一个)
d[searchedUniqueField]
Run Code Online (Sandbox Code Playgroud)
b)
l.Find(x=>x.uniqueField==searchedUniqueField);
Run Code Online (Sandbox Code Playgroud)