public const A first;
public const B second;
这两行给出错误,我该如何修改呢。
public class TwoTuple<A,B>
{
public const A first;
public const B second;
public TwoTuple(A a,B b)
{
first=a;
second=b;
}
public String toString()
{
return ")"+first+", " +second+")";
}
}
答案 0 :(得分:8)
将其更改为:
public readonly A first;
public readonly B second;
无法设置Consts,只能在构造函数中设置readonly变量。
答案 1 :(得分:6)
必须在编译时知道const
变量的值。换句话说,在声明变量时必须为该变量赋值,例如const string name = "sharp.m";
更多关于C#const:http://msdn.microsoft.com/en-us/library/e6w8fe1b(v=vs.90).aspx
修改强>
实际上,您根本不能使用类型为A
或B
的const。对于要声明的变量const
,它必须是字符串,null或值类型(例如,int)。与其他人一样,您应该使用readonly
代替。