我是C#的新手,我只是在编写一个快速/小规模的应用程序供个人使用。我想有一个哈希表,它将枚举值与包含整数的数组相关联,即int []格式。这可能不使用ArrayList吗?
我玩了语法,我没有运气。我基本上想要Dictionary<Integer, int[]>
编辑:
我正在编写模式匹配算法,有三种不同的类型由枚举表示。我正在跟踪大小为6的数组中的整数值以确定预测。
问题的简化是有一个正在构建的整数列表,如果我能够在序列到达之前预测序列的下一部分,那将是非常有益的。
这是一个非常简单的算法,除了像gcd等一些数学技巧之外,不涉及任何复杂的算法。
顺便说一句,谢谢你的帮助! -答案 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