编译器错误说我没有分配局部变量&名称在当前上下文中不存在,而它确实存在?
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 .
简而言之:是的,你的编译器是对的。收听并修复您的代码。
这段代码是我写的,好像有一些错误。这些是我收到的错误:
对于 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 .
简而言之:是的,你的编译器是对的。收听并修复您的代码。