所以,我有这段代码:
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();
)那么会有一个空表漂浮在周围。
这个应该怎么写?