gpt4 book ai didi

c# - 使用未分配的局部变量 - 但我知道当程序到达它时,它将被分配

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:43 24 4
gpt4 key购买 nike

所以,我有这段代码:

void Readfile()
{
using (reader = new StreamReader(file))
{
string line = "";
DataTable table;

// Search for relevant "tables" in the file
while ((line = reader.ReadLine()) != null)
{
if (line.StartsWith("!"))
{
table = CreateDataTable(reader, line);
}
else
{
AddToTable(table); // Error: "Unassigned local variable"
}
}
}
}

DataTable CreateDataTable(StreamReader reader, string line)
{
if (line.Contains("!CUST"))
{
DataTable custTable = new DataTable();
custTable.TableName = "Customer";

string[] columns = line.Split(Convert.ToChar(9));

foreach (string s in columns)
{
custTable.Columns.Add(s);
}
return custTable;
}
return null;
}

这个程序正在读取的文件总是是这种格式:

!Line1
Line2
Line3
!Line4
[etc...]

所以我知道这段代码在“流程”方面是合理的。它总是先创建表,然后再添加到表中。但是,我构造代码的方式显然行不通。

我最初的想法是,如果我确实事先创建了 DataTable,(即 DataTable table = new DataTable();),那么就会有一个空表 float 。

这个应该怎么写?

最佳答案

你知道,但不是编译器,所以用null初始化它:

DataTable table = null;

关于c# - 使用未分配的局部变量 - 但我知道当程序到达它时,它将被分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50980074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com