C#中的Array.GetValue()方法用于获取当前Array中指定元素的值。此方法的重载列表中共有8个方法,如下所示:
- Array.GetValue(Int32,Int32)
- Array.GetValue(Int64,Int64)
- Array.GetValue(Int32)
- Array.GetValue(Int64)
- Array.GetValue(Int32,Int32,Int32)
- Array.GetValue(Int64,Int64,Int64)
- GetValue(Int32 [])
- GetValue(Int64 [])
在这里,我们将解释前两个方法,即Array.GetValue(Int32,Int32)和Array.GetValue(Int64,Int64)方法。
GetValue(Int32,Int32)方法用于获取二维数组中指定位置的值。索引被指定为32位整数。
句法:
public object GetValue (int index1, int index2);
这里,
- “ index1”是元素所在行的索引。
- “ index2”是元素所在列的索引。
返回值:该方法返回由2D数组中传递的参数定义的指定索引处的元素。
例外情况:
- ArgumentException:当前的Array不完全具有二维。
- IndexOutOfRangeException: index1或index2在当前数组的相应维的有效索引范围之外。
GetValue(Int64,Int64)方法用于获取二维数组中指定位置的值。索引被指定为64位整数。
句法:
public object GetValue (long index1, long index2);
这里,
- “ index1”是元素所在行的索引。
- “ index2”是元素所在列的索引。
返回值:该方法返回由2D数组中传递的参数定义的指定索引处的元素。
例外情况:
- ArgumentException:当前的Array不完全具有二维。
- IndexOutOfRangeException: index1或index2在当前数组的相应维的有效索引范围之外。
范例1:
// C# program to demonstrate Array.GetValue(Int32, Int32)
// and array.GetValue(Int64 , Int64) method
using System;
public class GFG {
public static void Main()
{
// declare a character array
char[,] arr = new char[3,2]
{
{ 'A', 'B' },
{ 'C', 'D' },
{ 'E', 'F' }
};
// using GetValue(Int32, Int32) and
// GetValue(Int64, Int64) method
Console.WriteLine("element at index [0,0] is : " + arr.GetValue(0,0));
Console.WriteLine("element at index [1,1] is : " + arr.GetValue(1,1));
Console.WriteLine("element at index [0,1] is : " + arr.GetValue(0,1));
Console.WriteLine("element at index [1,0] is : " + arr.GetValue(1,0));
Console.WriteLine("element at index [2,0] is : " + arr.GetValue(2,0));
Console.WriteLine("element at index [2,1] is : " + arr.GetValue(2,1));
}
}
输出:
element at index [0,0] is : A
element at index [1,1] is : D
element at index [0,1] is : B
element at index [1,0] is : C
element at index [2,0] is : E
element at index [2,1] is : F
范例2:
// C# program to demonstrate Array.GetValue(Int32, Int32)
// and array.GetValue(Int64 , Int64) method
using System;
public class GFG {
public static void Main()
{
// declare a string array
string[,] arr = new string[3,2];
// use "SetValue()" method to set
// the value at specified index
arr.SetValue( "C++", 0, 0 );
arr.SetValue( "Java", 0, 1 );
arr.SetValue( "C#", 1, 0 );
arr.SetValue( "Perl", 1, 1 );
arr.SetValue( "Python", 2, 0 );
arr.SetValue( "PHP", 2, 1 );
/*the array look like
| C++ | | Java|
| C# | | Perl|
| python| | PHP |
*/
// Using GetValue(Int32, Int32) and
// GetValue(Int64, Int64) method
Console.WriteLine("element at index [0,0] is : " + arr.GetValue(0,0));
Console.WriteLine("element at index [1,1] is : " + arr.GetValue(1,1));
Console.WriteLine("element at index [0,1] is : " + arr.GetValue(0,1));
Console.WriteLine("element at index [1,0] is : " + arr.GetValue(1,0));
Console.WriteLine("element at index [2,0] is : " + arr.GetValue(2,0));
Console.WriteLine("element at index [2,1] is : " + arr.GetValue(2,1));
}
}
输出:
element at index [0, 0] is : C++
element at index [1, 1] is : Perl
element at index [0, 1] is : Java
element at index [1, 0] is : C#
element at index [2, 0] is : Python
element at index [2, 1] is : PHP
注意:对于在线编译器,不能使用32位或64位整数。将脱机编译器用于32或64位整数。