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

2 回答 2

8

将其更改为:

public readonly A first;
public readonly B second;

不能设置常量,可以在构造函数中设置只读变量。

于 2013-09-11T07:10:27.517 回答
6

变量的值const必须在编译时知道。换句话说,您必须在声明该变量时为其分配一些东西,例如const string name = "sharp.m";

有关 C# const 的更多信息:http: //msdn.microsoft.com/en-us/library/e6w8fe1b (v=vs.90).aspx

编辑 实际上,您不能将 const 与您的类型一起使用,A或者根本不能使用B。对于要声明的变量const,它必须是字符串、null 或值类型(例如,int)。就像其他人所说的那样,您应该readonly改用。

于 2013-09-11T07:10:46.650 回答