ギザギザ配列は、さまざまな理由からほとんどの場合に最適なソリューションであり、これはその 1 つの良い例です。多次元配列よりも配列の配列の方がはるかに柔軟性があります。この場合、文字の配列に値を取得すると、文字列クラスのコンストラクターを使用して、そこから文字列を作成できます。
また、ジャグ配列は「ベクトル」(つまり、ゼロ下限インデックスを持つ 1 次元配列) で構成されます。これは、CLR によって特別な処理が与えられるため、.Net でより優先されます。
したがって、プログラムの残りの部分が何をしているのかわからなくても、それが私の推奨事項です。
ジャグ配列を使用する代わりに、配列インデックスをループして手動で文字列を作成しようとする場合は、StringBuilder クラスを使用することをお勧めします。
私はこれを強打しましたが、次のようになるはずです:
// For the multi-dimentional array
StringBuilder sb = new StringBuilder();
for (int stringIndex = 0; stringIndex < s.Length; stringIndex++)
{
sb.Clear();
for (int charIndex = 0; charIndex < str.UpperBound(1); charIndex++)
sb.Append(str[stringIndex,charIndex]);
s[stringIndex] = sb.ToString();
}
// For the jagged array
for (int index = 0; index < s.Length; index++)
s[index] = new string(str[index]);