在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)指定列数。