use*_*064 1 c# reference ref visual-studio
在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
}
}
}
Run Code Online (Sandbox Code Playgroud)
例如在c ++中
int &a=tab[0];
Run Code Online (Sandbox Code Playgroud)
这只在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
}
}
Run Code Online (Sandbox Code Playgroud)
这是重要的一句话:
ref int a = ref t[0];
Run Code Online (Sandbox Code Playgroud)
C#7还支持ref返回.我建议谨慎地使用这两个功能 - 虽然它们肯定是有用的,但对于许多C#开发人员来说它们并不熟悉,我可以看到它们造成了很大的混乱.
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |