使用 myArray.GetValue(2) 和 myArray[2] 有什么区别吗?
例如:
namespace ConsoleApplication16
{
class Program
{
static void Main(string[] args)
{
int[] numbers = new int[] { 1, 2, 3, 4 };
Console.WriteLine(numbers.GetValue(3));
Console.WriteLine(numbers[3]);
Console.ReadLine();
}
}
}
Run Code Online (Sandbox Code Playgroud)
GetValue将返回类型对象,而使用索引将返回数组特定的类型。
您可以在这个小提琴(下面的代码)中看到该变量val1可以存储一个字符串,但val2只能用作整数。
public static void Main()
{
int[] numbers = new int[]{1, 2, 3, 4};
var val1 = numbers.GetValue(3);
var type = val1.GetType();
var val2 = numbers[3];
Console.WriteLine(type.ToString());
val1 = "hello";
type = val1.GetType();
Console.WriteLine(type.ToString());
}
Run Code Online (Sandbox Code Playgroud)
这将导致装箱和拆箱,这不会对小代码片段产生影响,但如果大规模使用,可能会影响性能。
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |