gpt4 book ai didi

c# - C# 中的 myArray.GetValue(2) 和 myArray[2] 有什么区别?

转载 作者:行者123 更新时间:2023-11-30 15:18:34 25 4
gpt4 key购买 nike

使用 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();
}
}
}

最佳答案

GetValue 将返回类型对象,而使用索引将返回特定于数组的类型。

你可以在这个fiddle中看到(下面的代码)变量 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());
}

这将导致 boxing and unboxing ,这不会对小代码片段产生影响,但如果大规模使用它可能会影响性能。

关于c# - C# 中的 myArray.GetValue(2) 和 myArray[2] 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43413592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com