Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的快速查找数据结构#_C#_Data Structures - Fatal编程技术网

C# C语言中的快速查找数据结构#

C# C语言中的快速查找数据结构#,c#,data-structures,C#,Data Structures,我对C#非常陌生,以下是我试图解决的问题陈述: 我有对象的集合,每次用户按名称属性搜索任何特定对象时,我都希望执行快速查找 更具体地说:收集100个对象和搜索应该不会花费太多时间 我的理解是字典将是最快的查找方式,对吗 视情况而定,在大多数特殊情况下,100个对象就可以了,不会有时间问题 如果你的名字是一个很长的字符串,如果你使用的是lambda linq对象。其中(a=>a.name==search),它将使用字符串匹配,并且会花费更多的时间(列表上的字符串匹配类似于O(n)*O(n)),因此

我对C#非常陌生,以下是我试图解决的问题陈述:

我有对象的集合,每次用户按名称属性搜索任何特定对象时,我都希望执行快速查找

更具体地说:收集100个对象和搜索应该不会花费太多时间


我的理解是字典将是最快的查找方式,对吗

视情况而定,在大多数特殊情况下,100个对象就可以了,不会有时间问题


如果你的名字是一个很长的字符串,如果你使用的是lambda linq
对象。其中(a=>a.name==search)
,它将使用字符串匹配,并且会花费更多的时间(列表上的字符串匹配类似于O(n)*O(n)),因此,是的,使用字典会更快(O(1))。

搜索100个对象不应该是一个性能问题。但是你的问题太模糊了,无法得到一个好的答案。是的,字典或哈希集是快速查找的,在100个对象的样本大小下,我认为使用字典不会获得太多性能,但是,这可能仍然是最相关的。关于性能调整,您需要了解一个重要的原则:如果性能一开始不是问题,那么您实际上不需要浪费时间进行超优化。100个对象的运行速度如此之慢,导致性能问题的原因是什么?请阅读Eric Lippert的。