列表<int>和字典之间的区别<int,int>?



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

在我看来,这只会创建一个整数的索引集合,其中"键"是整数索引,"值"是整数。

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

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

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

你有另一个表的订单。

你想从数据库中得到每个客户不同订单的数量。

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

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

最新更新