Joh*_*ann 1 c# variables local
有人可以解释我为什么得到:
"使用未分配的局部变量number_of_column":if(i <number_of_column -1)
什么是处理这个问题的最佳方法?
static void Main(string[] args)
{
int number_of_column;
if (Directory.Exists(path))
{
var file = dir.GetFiles().OrderByDescending(f => f.LastWriteTime).First();
string file1 = file.ToString();
Console.WriteLine(file1);
StreamReader sr = new StreamReader(path + "\\" + file1);
string line;
while ((line = sr.ReadLine()) != null)
{
if (start == true)
{
string[] line1 = line.Split(',');
number_of_column = line1.Count();
i = 0;
foreach (string s in line1)
{
if ((s != "0") || (!string.IsNullOrEmpty(s)))
{
col[i] = "checked";
}
i++;
}
}
else
{
if (line.Contains("Timestamp") && line.Contains("LiveStandby") && line.Contains("peak"))
{
start = true;
}
}
}
sr.Close();
i=0;
foreach (string s in col)
{
if (i < number_of_column -1)
{
Run Code Online (Sandbox Code Playgroud)
如果您从未进入while循环,则该变量没有指定值.
如果你点击if中的else分支,则该变量没有赋值.
这些是您收到此错误消息的原因.
您可以通过在声明变量时指定值来解决此问题.
C#要求您在使用之前初始化局部变量.对于成员变量,这不是必需的,它们会自动分配默认值.
| 归档时间: |
|
| 查看次数: |
873 次 |
| 最近记录: |