GetUpperBound & Length 的分別
在取陣列的長度時, 常用的語法有兩個, GetUpperBound & Length, 他們有什麼分別呢?
GetUpperBound(N)可以用來取得陣列第N+1維度中元素的個數
Length可以用來取得陣列中所有的元素個數
用個簡單的程式來測一下就會比較清楚了
{2維陣列}
string[,] aaa = new string[2, 3]; Console.WriteLine("aaa.GetUpperBound(0)=>" + aaa.GetUpperBound(0).ToString()); Console.WriteLine("aaa.GetUpperBound(1)=>" + aaa.GetUpperBound(1).ToString()); Console.WriteLine("aaa.Length=>" + aaa.Length.ToString());
得到的結果如下,
aaa.GetUpperBound(0)=>1 //2個元素 aaa.GetUpperBound(1)=>2 //3個元素 aaa.Length=>6 //6個元素
所有如果當陣列為多維度時, 結果就不會相同, 但如果是一維陣列, 則會是相同的。
{1維陣列}
string[] bbb = new string[2]; Console.WriteLine("bbb.GetUpperBound(0)=>" + bbb.GetUpperBound(0).ToString()); Console.WriteLine("bbb.Length=>" + bbb.Length.ToString());
得到的結果如下,
bbb.GetUpperBound(0)=>1 //2個元素 bbb.Length=>2 //2個元素
留言
張貼留言