Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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# 3.0 字典vs数组列表_C# 3.0 - Fatal编程技术网

C# 3.0 字典vs数组列表

C# 3.0 字典vs数组列表,c#-3.0,C# 3.0,在将数据添加到集合中时,使用哪种方法更好?如果使用Dictionary vs ArrayList会对性能产生什么影响?为什么?您实际上根本不应该使用ArrayList,因为您要使用强类型的列表 您使用哪一个取决于您需要如何访问数据。列表存储项目的顺序列表,而字典存储由键标识的项目。(您仍然可以按顺序从字典中读取项目,但顺序不保留。) 性能几乎相同,两者都在内部使用数组存储实际数据。当它们达到容量时,会分配一个新的更大的阵列并将数据复制到其中。如果您知道集合将有多大,则应在创建集合时指定容量,这样

在将数据添加到集合中时,使用哪种方法更好?如果使用Dictionary vs ArrayList会对性能产生什么影响?为什么?

您实际上根本不应该使用
ArrayList
,因为您要使用强类型的
列表

您使用哪一个取决于您需要如何访问数据。列表存储项目的顺序列表,而字典存储由键标识的项目。(您仍然可以按顺序从字典中读取项目,但顺序不保留。)


性能几乎相同,两者都在内部使用数组存储实际数据。当它们达到容量时,会分配一个新的更大的阵列并将数据复制到其中。如果您知道集合将有多大,则应在创建集合时指定容量,这样它就不必调整自身大小。

它们不是可互换的类。苹果和桔子。如果要通过键查找集合中的项目,请使用
字典
。否则,请使用
ArrayList
(或者最好使用
List

它的可能副本完全取决于您在向集合中添加数据后所做的操作,当然可以吗?如果你从来没有在收藏中做过任何事情,那么向收藏中添加东西又有什么意义呢?