List <int>和Dictionary <int,int =“”>之间的区别?

时间:2016-08-11 12:34:09

标签: c#

为什么有人会使用带有两个整数的字典?

在我看来,这只会创建一个整数的索引集合,其中“key”是整数索引,“value”是整数。

或者,换句话说,它与整数列表相同。

现在,我想有一个字典允许你设置自定义整数键,所以例如你可以有像(1,2)(7,3)等对,但这仍然没有多大意义。但是什么时候使用字典而不是列表实际上/实用呢?

2 个答案:

答案 0 :(得分:2)

例如,如果您有一个包含客户的数据库表。

你还有另一张订单表。

您希望从数据库中获取每个客户的不同订单数量。

然后您可以将其另存为Dictionary<int, int>,其中第一个int是客户的ID,第二个int是他们拥有的不同订单的数量。

答案 1 :(得分:1)

TKey(在Dictionary<TKey, TValue>上)不是索引。这是一个关键值,您不需要遵循TKey中的特定顺序。 TKey只是您用来获取字典上的一个令人兴奋的项目的值。要按索引访问字典项,可以按键集合获取索引。样本:

int key = dictionary.Keys.ElementAt(2); // the 3'rd element

var value = dictionary[key]; // the the value by the key

List<T>是一个值列表,您可以通过索引访问。

var value = list[2]; // get the 3'rd element