我不确定为什么会收到此错误,但这段代码不应该编译吗,因为我已经在检查队列是否正在初始化?
public static void Main(String[] args)
{
Byte maxSize;
Queue queue;
if(args.Length != 0)
{
if(Byte.TryParse(args[0], out maxSize))
queue = new Queue(){MaxSize = maxSize};
else
Environment.Exit(0);
}
else
{
Environment.Exit(0);
}
for(Byte j = 0; j < queue.MaxSize; j++)
queue.Insert(j);
for(Byte j = 0; j < queue.MaxSize; j++)
Console.WriteLine(queue.Remove());
}
因此,如果队列未初始化,那么 for 循环就无法访问,对吧?由于程序已经以 Environment.Exit(0) 终止?
希望大家多多指点:)
谢谢。
最佳答案
编译器不知道 Environment.Exit() 将终止程序;它只是看到你在一个类上执行一个静态方法。只需在声明时将 queue
初始化为 null。
Queue queue = null;
关于C# 错误 : Use of unassigned local variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/256073/