无法识别c#.net中声明的变量

本文关键字:声明 变量 net 识别 | 更新日期: 2023-09-27 18:27:50

代码的最后一行(第三行)无法识别我声明并用字符串填充的变量。

    static void Main(string[] args)
    {
        string inputNumber = "1979";
        string input1 = inputNumber.Substring(0, 1);
        string input2 = inputNumber.Substring(1, 1);
        string input3 = inputNumber.Substring(2, 1);
        string input4 = inputNumber.Substring(3, 1);
        int intInput1;
        int intInput2;
        int intInput3;
        int intInput4;
        intInput1 = Convert.ToInt32(input1);
        intInput2 = Convert.ToInt32(input2);
        intInput3 = Convert.ToInt32(input3);
        intInput4 = Convert.ToInt32(input4);
        string stringOutput1;
        string stringOutput2;
        string stringOutput3;
        string stringOutput4;
        // 1000 Input.
        switch (intInput1)
        {
            case 1:
                stringOutput1 = "M";
                break;
            default:
                break;
        }
        //100 Input
        switch (intInput2)
        {
            case 9:
                stringOutput2 = "CM";
                break;
            default:
                break;
        }
        //10 Input
        switch (intInput3)
        {
            case 7:
                stringOutput3 = "LXX";
                break;
            default:
                break;
        }
        //1 Input
        switch (intInput4)
        {
            case 9:
                stringOutput4 = "IX";
                break;
            default:
                break;
        }
        //Use of unassigned local variable error is showing for 'stringOutput1', 'stringOutput2', 'stringOutput3' and 'stringOutput4'
        Console.WriteLine("{0} is {1}{2}{3}{4} in Roman Numerals",inputNumber, stringOutput1, stringOutput2, stringOutput3, stringOutput4);
        Console.CursorVisible = false;
        Console.ReadKey();
    }

附言:我知道变量是通过注释来填充的

 Console.WriteLine("{0} is {1}{2}{3}{4} in Roman Numerals",inputNumber, stringOutput1, stringOutput2, stringOutput3, stringOutput4);

以及使用断点和逐步跳过代码。

无法识别c#.net中声明的变量

这是因为您的变量可能还没有被赋值。在使用变量之前,必须保证已为其分配了某些内容。作为一个简单的修复,您可以使用这样的声明:

string stringOutput1 = "";

尝试为声明分配null

string stringOutput1 = null;
string stringOutput2 = null;
string stringOutput3 = null;
string stringOutput4 = null;

您必须初始化变量,这样做。

string stringOutput1 , stringOutput1, stringOutput3, stringOutput4 = string.Empty;

还可以为每个变量指定默认值。

string stringOutput1 = "foo1", stringOutput1 = "foo2"
, stringOutput3= "foo3", stringOutput4 = "foo4";