c#public const第一个

时间:2013-09-11 07:07:48

标签: c#

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+")";
    }
}

2 个答案:

答案 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

修改 实际上,您根本不能使用类型为AB的const。对于要声明的变量const,它必须是字符串,null或值类型(例如,int)。与其他人一样,您应该使用readonly代替。