2016-10-07 7 views
-1

iは8X6配列を持っていると私は最初の2行と最後の2つの列を削除し、6X4C#visual studio:Arrayから行全体または列全体を削除し、2次元配列を出力に表示する方法は?

45 778 0 0 0 0 
1531 87 0 0 0 0 
1391 619 115 115 1446 674 
1278 330 150 150 1351 403 
1037 460 178 178 1124 547 
695 454 202 202 794 553 
911 119 197 197 1007 215 
534 91 195 195 629 186 

にそれを変更する必要があります私は上記のマトリックスを変更する必要がありますどのようにすることもでき

1391 619 115 115 
1278 330 150 150 
1037 460 178 178 
695 454 202 202 
911 119 197 197 
534 91 195 195 

出力にこの行列を表示しますか?私は試しました Console.WriteLine(myArray.GetUpperBound(0));が動作しませんでした!

+0

他に何か試しましたか? GetUpperBoundは、「配列内の指定された次元の最後の要素のインデックス。指定された次元が空の場合は-1」を返します。 –

+0

2次元行列のサイズを変更することはできません。新しい2次元行列を作成し、目的の値をその行列にコピーするだけです。 –

答えて

2

私が考えることができるのは、新しい配列を作成し、そのループからdoubleを読み込んでもう一方のループに読み込むことだけです。誰もがこれを行うには、この

正確な機能は

private static int[,] CopyArray(int[,] array, int fromX, int fromY, int lengthX, int lengthY) 
{ 
    int[,] result = new int[lengthX, lengthY]; 
    for (int x = 0; x < result.GetLength(0); x++) 
    { 
     for (int y = 0; y < result.GetLength(1); y++) 
     { 
      result[x, y] = array[x + fromX, y + fromY]; 
     } 
    } 
    return result; 
} 

本の完全な例は、私のGitHub勘定に転記され(http://go.beeming.net/2dyzJY6だろう行うには良い方法を知っていれば

が見るのは興味深いだろう)。

+0

あなたの提案にいくつかの例を挙げてください。そうでなければこれはコメントとして最適です.. –

+2

GitHubのfunction.procsへのリンクも追加されました。 –

+0

これは私に必要なことでした –

関連する問題