在c#中如何或是否可能将整数数组存储到字典中?整型,int[]>可能的

本文关键字:字典 整型 int 数组 是否 整数 存储 | 更新日期: 2023-09-27 17:53:46

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

我摆弄了一下语法,但我运气不好。我想要的是Dictionary<Integer, int[]>

编辑:

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

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

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

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

在c#中如何或是否可能将整数数组存储到字典中?整型,int[]>可能的

这是完全正确的:

var dict = new Dictionary<int, int[]>();
dict.Add(1, new int[] {1, 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];

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

示例:

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