如何通过switch将限制传递到另一个类?

时间:2013-04-14 17:04:25

标签: c# switch-statement

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

    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;
        }            
    }

2 个答案:

答案 0 :(得分:4)

这看起来像是代码中可能的拼写错误。请注意,方法中的前两行是

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

当您开启限制时,它尚未初始化! C#语言做得很好,并且在初始化之前不允许使用变量,所以编译器正确地拒绝编译这段代码。

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

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

答案 1 :(得分:2)

确保HiLow的构造函数采用int参数,如下所示:

public class HiLow
{
    ...
    public HiLow(int limit)
    {
        ...
    }
    ...
}