用于库存的数组,如'Apples'= 99 in C#

时间:2012-01-10 18:23:05

标签: c# arrays list inventory

我研究了创建数组的不同方法以及如何使用列表,但我无法找到我想要的内容。我在python中创建了一个我想要的程序,但python削减了很多角落,我想知道“正确”和最有效的方法。

我想创建一个数组(或列表,不确定什么是最好的),它有一个像'Potion'这样的字符串和一个用于该项目数量的int,比如游戏的库存。实现这个的最佳方法是什么?

我注意到你可以制作如下数组:Inventory.InvArray [] [] 但是,如何将第一个元素作为字符串,第二个元素为int?

如你所见,我有点困惑,任何帮助都表示赞赏:)

5 个答案:

答案 0 :(得分:6)

您可以使用Dictionary<string, int>.

或者您可以使用整数Item属性创建InventoryCount对象。

答案 1 :(得分:4)

您不是在寻找数组或列表,而是在寻找字典。

在.NET中,您可以使用通用Dictionary<TKey, TValue> Class,例如

var inventory = new Dictionary<string, int>();
inventory["Apple"] = 99;

在Python中,您将使用dict,例如

inventory = dict()
inventory["Apple"] = 99

答案 2 :(得分:1)

如果要创建键值对的映射,就像在您的情况下一样,请使用通用词典。

var inventory = new Dictionary<string, int>();
inventory.Add("potion", 20);
inventory.Add("apple", 99);

此处字符串类型适用于您的键,在本例中是一个用于药水或苹果的字符串,而int类型用于您的值,在这种情况下是数量。

答案 3 :(得分:0)

听起来你正在寻找强类型的Dictionary<TKey, TValue>。您可以将类型指定为stringint,如下所示:

Dictionary<string, int> YourCollection = new Dictionary<string, int> ();

答案 4 :(得分:0)

为什么不使用Dictionay<String, int>