2

我想传递选择(从同一个类派生),然后将限制传递给另一个将使用限制的类。我在下面遇到错误。

    public int ProcessChoice(int choice)
    {
        int limit;

        switch(limit)
        {
        case 1: limit = 10;
        HiLow thegame = new HiLow(limit);
        break;
        case 2: limit = 50;
        HiLow thegame = new HiLow(limit);
        break;
        case 3: limit = 100;
        HiLow thegame = new HiLow(limit);
        break;
        }            
    }
4

2 回答 2

4

这看起来像是您的代码中可能存在的错字。请注意,您的方法中的前两行是

int limit;
switch(limit)
{ ... }

当你打开限制时,它还没有被初始化!C# 语言做的是理智的事情,并且不允许在初始化之前使用变量,因此编译器正确地拒绝编译此代码。

当然,这个编译错误的修复方法是将方法的前两行改为

int limit;
switch (choice)
{ ... }
于 2013-04-14T17:07:56.183 回答
2

确保构造函数HiLow接受一个int参数,如下所示:

public class HiLow
{
    ...
    public HiLow(int limit)
    {
        ...
    }
    ...
}
于 2013-04-14T17:07:06.100 回答