为什么我一直在"}期待"}每次我运行我的程序?我不认为我错过任何大括号。可能是别的吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
int[] anArray = new int[] {30, 40, 60, 70, 80, 90, 100, 110};
var byVal = anArray[0];
Console.WriteLine("by value: " + byVal);
ref int byRef = anArray[0];
Console.WriteLine("by reference: " + byRef);
}
}
}
答案 0 :(得分:1)
它无法解析您的代码(不确定为什么它会在}
上找到。)
这是无效的C#代码
ref int byRef = anArray[0];
您无法将变量定义为ref
。将参数传递给方法时使用它。例如:
void Main()
{
int b = 6;
ChangeIt(ref b);
Console.WriteLine(b);
}
void ChangeIt(ref int a)
{
a = 5;
}
将打印出5
。
答案 1 :(得分:0)
您似乎误解了ref
关键字的含义:它用于通过引用传递参数,而不是引用局部变量。
C#确定根据该变量的类型使变量成为引用或值:基本类型和struct
是值类型,因此与这些类型对应的变量存储值。另一方面,类是引用类型,因此相应类型的变量存储引用。