以下のコードを同封しました。パート A で IndexOutOfRangeException が処理されませんでした。次に、以下のように Try-catch を試しましたが、現在取得しています
「C:\Users\Rahul Taneja\Documents\Visual Studio 2010\Projects\app\app の app.Form6.ZMove(String s1, String s2) にある app.exe で、タイプ 'System.IndexOutOfRangeException' の初回例外が発生しました。 \Form6.cs:136行目"
スタックトレースで
なぜそれが起こっているのか、そして何が解決策になるのか教えてもらえますか?
public void ZMove(string s1, string s2)
{
//Move 2-1-4-3
int j = Int32.Parse(s1);
int k = Int32.Parse(s2);
for (int l = 0; l < k; l++)
{
try
{
swap(array[2][j], array[1][j]); ///Part A
swap(array[1][j], array[4][j]);
swap(array[4][j], array[3][j]);
swap(array[3][j], array[2][j]);
}
catch (IndexOutOfRangeException e)
{
MessageBox.Show(e.StackTrace);
//throw;
}
}
}
private void swap(char[] p1, char[] p2)
{
//throw new NotImplementedException();
int l = p1.Length;
for (int i = 0; i < l; i++)
{
char temp = p1[i];
p1[i] = p2[i];
p2[i] = temp;
}
}