Вставка столбца в зубчатый массив

int RowCount; //This will be approx in the range 1,00,000
int[][] SourceJaggedArray;
int ColumnCount; //This is will be approx in the range 15 - 20

В настоящее время я заполняю значение для всех столбцов для каждой строки, что очень медленно. Но, согласно бизнес-логике, я знаю, что по крайней мере для 5 столбцов все значения равны -1, а примерно для 5 столбцов все значения одинаковы (но исходят из переменной).

Поэтому я хочу знать, есть ли эффективный способ заполнить зубчатый массив, вставив массив в конкретный индекс столбца:

SourceJaggedArray[][0] = firstColumnArray;
SourceJaggedArray[][1] = secondColumnArray;

person Suresh    schedule 22.07.2012    source источник


Ответы (1)


Я думаю, не очень эффективно и не совсем то, что вы хотите, но...

1 вариант может заключаться в том, чтобы сделать что-то вроде

int[][] SourceJaggedArray=new int[20][];
SourceJaggedArray[0]=firstColumnArray;
SourceJaggedArray[1]=secondColumnArray;

Затем при необходимости поверните зубчатый массив вашего массива (см. C#, вращающиеся 2D-массивы)

2-й вариант, который мне больше нравится, будет

List<int[]> source=new List<int[]>();
source.Add(firstColumnArray);
source.Add(secondColumnArray);
person m0s    schedule 22.07.2012