本文實例講述了C#和Java中二維數組區別,分享給大家供大家參考。具體分析如下:
在Java中使用二維數組可以如下代碼:
public class Array2D{
public static void main(String[] args){
int myInt[][]=new int[5][10];
//遍歷,給數組中的每一個數組賦值
for(int i=0;i<myInt.length;i++){
for(int j=0;j<myInt[0].length;j++){
myInt[i][j]=i*j;
}
}
System.out.println ("myInt.length="+myInt.length+",myInt[0].length="+myInt[0].length);
//輸出數組每一維的下限和上限
for(int i=0;i<myInt.length;i++){
for(int j=0;j<myInt[0].length;j++){
System.out.println ("myInt["+i+"]["+j+"]="+myInt[i][j]);
}
}
}
}
針對上述代碼,個人以為在C#中也可以這么做,事實上錯了,在C#中int[][] myInt是聲明一個交錯數組,聲明二維數組是這么聲明int[,] myInt,上面的代碼如果換成C#的,需要如下表示:
class clsArrat2D
{
/// <summary>
/// 應用程序的主入口點。
/// </summary>
[STAThread]
static void Main(string[] args)
{
int[,] myInt=new int[5,10];
//遍歷,給數組中的每一個數組賦值
for(int i=myInt.GetLowerBound(0);i<=myInt.GetUpperBound(0);i++)
{
for(int j=myInt.GetLowerBound(1);j<=myInt.GetUpperBound(1);j++)
{
myInt[i,j]=i*j;
}
}
//輸出數組每一維的下限和上限
for(int i=0;i<myInt.Rank;i++)
{
Console.WriteLine("{0} {1} {2}", i, myInt.GetLowerBound(i), myInt.GetUpperBound(i));
}
//遍歷,輸出二維數組中每一個元素的個數
for(int i=myInt.GetLowerBound(0);i<=myInt.GetUpperBound(0);i++)
{
for(int j=myInt.GetLowerBound(1);j<=myInt.GetUpperBound(1);j++)
{
Console.WriteLine("myInt[{0},{1}]={2}",i,j,myInt[i,j]);
}
}
Console.ReadLine();
}
}
總的感覺C#這點做得很爛,明明就是模仿C++和Java,而聲明二維數組人家都是這么聲明的,微軟在這里卻標新立異,一不小心栽跟頭都不知道為什么,初用起來也很不習慣。希望本文所述對初學者C#程序設計的學習有所幫助。