编译器错误说我没有分配局部变量&名称在当前上下文中不存在,而它确实存在?

Compiler error says I have not assigned a local variable & names do not exist in current context while it does?

这段代码是我写的,好像有一些错误。这些是我收到的错误:

对于 loopteller++; 我得到一个错误 "Use of unassigned local variable loopteller"

对于我所有的 intpos 我都得到了这个错误 "Does not exist in the current context"

我的代码的目标是制作一个表单,当我单击一个按钮时,它可以读取文件并从我的文本文件中获取特定的单词。是的,我正在使用 System.IO.

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        string interface1 = "";
        string interface2 = "";
        string interface3 = "";
        string interface4 = "";
        int inpost1 = 0;
        int inpost2 = 0;
        int inpost3 = 0;
        int inpost4 = 0;
        int teller = 0;
        int interfaceteller = 0;
        int loopteller;


        string[] routerconfig = File.ReadAllLines("c:\naamcomputer\pt.txt");
        foreach(string configregel in routerconfig)
        {
            loopteller++;

            if (configregel.Contains("interface Gigabitethernet"))
            {
                teller++;
                if(teller == 1)
                {
                    interface1 = configregel;
                    intpos1 = loopteller;
                }
                else if(teller == 2)
                {
                    interface2 = configregel;
                    intpos2 = loopteller;
                }
                else if (teller == 3)
                {
                    interface3 = configregel;
                    intpos3 = loopteller;
                }
                else if (teller == 4)
                {
                    interface4 = configregel;
                    intpos4 = loopteller
                }
            }
        }

    }
}

For loopteller++; I get a error "Use of unassigned local variable loopteller"

没错,正是哪里出了问题。您一开始从未分配过值,现在您想使用 ++ 将其加一。它不是这样工作的。在你这样做之前给它赋值,你用所有其他变量都这样做了。

For all my intpos I get this error "Does not exist in the current context"

没错。你声明的变量命名为inpost X,而不是intpos X .

简而言之:是的,你的编译器是对的。收听并修复您的代码。