在C#中输出枚举职位名称

梅森·阿尔特

我有一个枚举的行星,其中包含所有8个行星:

enum Planet
{
    MERCURY, VENUS, EARTH, MARS,
    JUPITER, SATURN, URANUS, NEPTUNE
}

我需要采取一个int位置并输出相应的枚举位置行星名称。

因此,如果用户输入2作为位置,而枚举中的位置2为EARTH。它将输出EARTH。

我尝试使用:

// Planetary Position.
Console.Write("Please enter a numeric position: ");
int position = Convert.ToInt32(Console.Read());

// Output of selected planet.
Console.Write(Enum.GetName(typeof(Planet), position));

// Prevents CMD Prompt from closing.
Console.Read();

但是,当您输入数字时,什么也不会发生。

**注意:我们尚未深入研究任何if语句或类似内容。

哈比卜

您输入的方式错误,应该是:

int position = Convert.ToInt32(Console.ReadLine());

Console.Read读取一个字符并返回其ASCII值,例如,2您将50就位,并且由于枚举中没有值,您50无法null返回,因此控制台上未写入任何内容。

(您可以int.TryParse用于解析来自控制台的输入,请参见此答案

您还可以执行以下操作:

Console.Write((Planet)position);

(别忘了冥王星

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章