Как или можно сохранить массив целых чисел в словаре в C #?то естьвозможный? - PullRequest
1 голос
/ 27 апреля 2011

Я новичок в C #, и я просто пишу быстрое / маленькое приложение для личного пользования.Я хотел бы иметь хэш-таблицу, которая связывает перечислимые значения с массивом, содержащим целые числа, т.е. формат int [].Возможно ли это без использования ArrayList?

Я играл с синтаксисом, и мне не повезло.Я в основном хочу Dictionary<Integer, int[]>

РЕДАКТИРОВАТЬ:

Я пишу алгоритм сопоставления с образцом, и есть три различных типа, представленных перечислением.Я отслеживаю целочисленные значения в массиве размера 6, чтобы определить прогноз.

Упрощение проблемы состоит в том, что создается список целых чисел, и было бы очень полезно, если бы я мог предсказать следующую часть последовательности до ее прибытия.

Этоочень простой алгоритм, и в нем нет ничего сложного, кроме нескольких математических трюков, таких как gcd и т. д.

Кстати, спасибо за помощь!-

Ответы [ 4 ]

6 голосов
/ 27 апреля 2011

Это совершенно верно:

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

Так что ответ будет да, вы можете сделать это.

3 голосов
/ 27 апреля 2011

Да, это возможно. Пример:

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 голосов
/ 27 апреля 2011

Вы можете использовать Dictionary<int, int[]> или Dictionary<int, List<int>>

2 голосов
/ 27 апреля 2011

Пример для перечисления:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...