在 C++ 中,可以通过引用 (&) 或指针 (*) 来完成。在 C# 中有“ref”。如何从表中获取值并通过引用更改它?
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
int[] t=new int[3]{1,2,3};
int a=t[0]; //ref int a=t[0];
a+=10;
System.Console.WriteLine("a={0}", a); //11
System.Console.WriteLine("t[0]={0}", t[0]); //1
}
}
}
例如在 C++ 中
int &a=tab[0];
最佳答案
这仅在 C# 7 中变得可行,使用 ref locals:
public class Program
{
public static void Main(string[] args)
{
int[] t = {1, 2, 3};
ref int a = ref t[0];
a += 10;
System.Console.WriteLine($"a={a}"); // 11
System.Console.WriteLine($"t[0]={t[0]}"); // 11
}
}
这是重要的一行:
ref int a = ref t[0];
C# 7 还支持ref 返回。我建议谨慎使用这两个功能 - 虽然它们肯定有用,但许多 C# 开发人员并不熟悉它们,而且我认为它们会造成严重的混淆。
关于c# - 从表中获取值作为引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43255859/