我想传递选择(从同一个类派生)然后将限制传递给另一个将使用限制的类。我在下面遇到错误。
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;
}
}
答案 0 :(得分:4)
这看起来像是代码中可能的拼写错误。请注意,方法中的前两行是
int limit;
switch(limit)
{ ... }
当您开启限制时,它尚未初始化! C#语言做得很好,并且在初始化之前不允许使用变量,所以编译器正确地拒绝编译这段代码。
当然,修复此编译错误的方法是将方法的前两行更改为
int limit;
switch (choice)
{ ... }
答案 1 :(得分:2)
确保HiLow
的构造函数采用int
参数,如下所示:
public class HiLow
{
...
public HiLow(int limit)
{
...
}
...
}