如何或是否可以在C#中将整数数组存储到字典中?即<integer,int [] =“”>可能吗?</integer,>

时间:2011-04-27 05:38:53

标签: c# arrays syntax

我是C#的新手,我只是在编写一个快速/小规模的应用程序供个人使用。我想有一个哈希表,它将枚举值与包含整数的数组相关联,即int []格式。这可能不使用ArrayList吗?

我玩了语法,我没有运气。我基本上想要Dictionary<Integer, int[]>

编辑:

我正在编写模式匹配算法,有三种不同的类型由枚举表示。我正在跟踪大小为6的数组中的整数值以确定预测。

问题的简化是有一个正在构建的整数列表,如果我能够在序列到达之前预测序列的下一部分,那将是非常有益的。

这是一个非常简单的算法,除了像gcd等一些数学技巧之外,不涉及任何复杂的算法。

顺便说一句,谢谢你的帮助! -

4 个答案:

答案 0 :(得分:6)

这完全有效:

var dict = new Dictionary<int, int[]>();
dict.Add(1, new int[] {1, 2, 3});

所以答案是肯定的,你可以这样做。

答案 1 :(得分:3)

您可以使用Dictionary<int, int[]>Dictionary<int, List<int>>

答案 2 :(得分:3)

是的,这是可能的。例如:

Dictionary<int, int[]> items = new Dictionary<int, int[]>();

// add an item using a literal array:
items.Add(42, new int[]{ 1, 2, 3 });

// create an array and add:
int[] values = new int[3];
values[0] = 1;
values[1] = 2;
values[2] = 3;
items.Add(4, values);

// get one item:
int[] values = items[42];

答案 3 :(得分:2)

枚举示例:

enum MyEnum
{
    Value1,
    Value2,
    Value3
}

...

var dictionary = new Dictionary<MyEnum, int[]>();

dictionary[MyEnum.Value1] = new int[] { 1, 2, 3 };
dictionary[MyEnum.Value3] = new int[] { 4, 5, 6 };
dictionary[MyEnum.Value3] = new int[] { 7, 8, 9 };

用法:

int i = dictionary[MyEnum.Value1][1]; // i == 2