我很难将一个枚举插入一个开关箱,我不知道为什么,我已经尝试了枚举中的值的名称,以及它们腐蚀的整数值,都不起作用。错误:所有选项的名称“GuessThatNumber”在当前上下文NameProgramcsharp(CS0103)等中都不存在。
using System;
public enum MenuOption{
TestName,
GuessThatNumber,
Quit
}
namespace NameProgram
{
class nameTester
{
static void Main(string[] args)
{
MenuOption userSelection;
userSelection = ReadUserOption();
Console.WriteLine(userSelection);
do {
switch(userSelection){
case TestName:
Console.WriteLine("please enter a name: ");
break;
case GuessThatNumber:
Console.WriteLine("Guess the name: ");
break;
case default:
break;
}
} while (userSelection != Quit);
Console.ReadLine();
}
public static MenuOption ReadUserOption(){
Console.WriteLine("1: Player 1 -- Test name, 2: Player 2 -- Guess name, 3: Player 2 -- Giveup (quit)");
int number = 0;
number = Convert.ToInt32(Console.ReadLine());
return (MenuOption)(number -1);
}
// public static TestName(string guess){
// if ()
// }
}
}发布于 2020-08-22 09:03:32
您需要使用完全限定的名称或创建别名。
完全限定名
switch(userSelection){
case MenuOption.TestName:
Console.WriteLine("please enter a name: ");
break;
case MenuOption.GuessThatNumber:
Console.WriteLine("Guess the name: ");
break;
default:
break;
}别名
在“使用”部分中添加一行
using static MenuOptions发布于 2020-08-22 08:48:47
您必须编写MenuOption.TestName,而不是只编写TestName。
https://stackoverflow.com/questions/63534213
复制相似问题