在C#.Net中,Length和GetLength()基本上与数组一起使用,大多数情况下这两个东西会让开发人员感到困惑。在这篇文章中,我们将学习C#中Length和GetLength()的区别是什么?何时何地使用?
Length是一个属性,它指定数组中元素的总数。而GetLength()是数组类的一个预定义方法。它有一个指定维度的参数。如果我们将0传递给GetLenth()方法,那么它将返回第一个维度的大小。如果我们将1传递给getlengthth()方法,那么它将返回第二个维度的大小。
using System; namespace arrayEx { class Program { static void Main(string[] args) { int i = 0; int[] X; X = new int[5]; Console.Write("Enter Elements : \n"); for (i = 0; i < X.Length; i++) { Console.Write("\tElement[" + i + "]: "); X[i] = Convert.ToInt32(Console.ReadLine()); } Console.Write("\n\nElements are: \n"); for (i = 0; i < X.Length; i++) { Console.WriteLine("\tElement[" + i + "]: "+X[i]); } } } }
输出结果
Enter Elements : Element[0]: 10 Element[1]: 20 Element[2]: 30 Element[3]: 40 Element[4]: 50 Elements are: Element[0]: 10 Element[1]: 20 Element[2]: 30 Element[3]: 40 Element[4]: 50 Press any key to continue . . .
在(i = 0; i <X.Length; i ++)的语句中,我们使用了X.Length属性,该属性返回的数组长度为5。
using System; namespace arrayEx { class Program { static void Main(string[] args) { int i = 0; int j = 0; int[,] X; X = new int[2,3]; Console.Write("Enter Elements : \n"); for (i = 0; i < X.GetLength(0); i++) { for (j = 0; j < X.GetLength(1); j++) { Console.Write("\tElement[" + i + ","+j+"]: "); X[i, j] = Convert.ToInt32(Console.ReadLine()); } } Console.Write("\n\nElements are: \n"); for (i = 0; i < X.GetLength(0); i++) { for (j = 0; j < X.GetLength(1); j++) { Console.Write(X[i, j] + " "); } Console.WriteLine(); } } } }
输出结果
Enter Elements : Element[0,0]: 11 Element[0,1]: 22 Element[0,2]: 33 Element[1,0]: 44 Element[1,1]: 55 Element[1,2]: 66 Elements are: 11 22 33 44 55 66 Press any key to continue . . .
在上面的示例中,GetLength指定行数,而GetLength(1)指定列数。