使用C#二維數組時內索引數錯誤問題的解決
作者:野豬&翔帥
這里將介紹使用C#二維數組時內索引數錯誤問題的解決,希望通過筆者的錯誤經歷,能幫助大家今后避免這樣的錯誤。
今天又用到了C#二維數組,好久沒用了,感覺都生疏了,只好憑著印象來了...程序寫完,拿鼠標往上一移...嗯,不錯不錯,有提示,應該沒什么問題吧...GO ON
全部寫完,一編譯...我暈,提示錯誤:[]內索引數錯誤,應為2???不會吧,這是怎么回事?沒見過...
上網一查,才發現了原來錯在一個很明顯、但是又不容易被發現的地方,所以現在貼出來給大家借鑒一下,如果你也有類似錯誤,大家共勉;如果你覺得這個錯誤太低級的話,看看就算了,千萬不要留言羞辱.謝謝合作...
- //定義數組
- string[,] classes = new string[5, 2];
- //正確的C#二維數組使用方法
- classes[i, 0] = "";
- //錯誤的使用方法
- classes[i][0]="";
據說這種形式的C#二維數組叫做鋸齒數組,不過我本人暫時沒有使用過,也不怎么了解,所以從網絡上抓了一段例子以供參考:
- // 聲明一個鋸齒型數組,該數組有兩個元素
- int[][] myArray = new int[2][];
- // 其中***個元素是一個含有五個元素的數組
- // 初始化myArray[0]
- myArray[0] = new int[5] {1,3,5,7,9};
- // 其中第二個元素是一個含有4個元素的數組
- // 初始化myArray[1]
- myArray[1] = new int[4] {0, 2, 4, 6};
- // 逐一打印出數組的數組中所有的元素
- for (int i=0; i < myArray.Length; i++)
- {
- Console.Write("第({0})個數組: ", i);
- // 打印一維數組中的元素
- for (int j=0; j < myArray[i].Length; j++)
- {
- Console.Write("{0} ", myArray[i][j]);
- }
- Console.WriteLine();
- }
本文來自野豬&翔帥的博客園文章《C#中使用二維數組時,報錯:內索引數錯誤》
【編輯推薦】
責任編輯:彭凡
來源:
博客園