1
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;
4

1 に答える 1

0

あまり効率的ではなく、まさにあなたが望むものではないと思いますが...

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);
于 2012-07-22T08:55:37.267 に答える