C# - 通过输入int名称显示int值

时间:2015-09-13 19:29:37

标签: c# integer

比如说我想创建一个非常简单的程序来存储和显示化学元素质量数,如何通过输入int名来显示int值?

Console.Write("Element Symbol:");
Console.ReadLine();

int Li = 7;
int Be = 9;

Console.WriteLine("Mass Number:");

????对于愚蠢的问题很抱歉,但感谢您的帮助

1 个答案:

答案 0 :(得分:4)

从元素符号 - &gt;获得映射会更加合适。质量。你应该为它创建一个Dictionary<string, int>,它存储每个元素的质量(元素的名称是关键,质量是值)。正如另一条评论所指出的,如果您愿意,可以使用质量floatdouble而不是int

private Dictionary<string, int> PeriodicTable =
    new Dictionary<string, int>()
    {
        {"Li", 5 },
        {"Be", 9 }
        //more elements..
    };

private int GetMass(string element)
{
    int value = 0;
    //Try to get the value
    if (PeriodicTable.TryGetValue(element, out value))
        return value;
    else //not found
        return -1;
}

如果您觉得这太复杂,请使用经典的switch语句。

private int GetMass(string element)
{
    switch(element)
    {
        case "Li":
            return 5;
        case "Be":
            return 9;
        //..
        default:
            return -1;
    }
}