未存储列表值
List values are not being stored
有人可以告诉我我遗漏了什么吗,class 从文本文件中读取值并应该存储它们以供其他用途,我可以看到这些值
Console.Write(eachCell[0])
但我无法保存这些值。我试过使用
string[]
和 List<string>
但运气不好。它应该将读取的值存储到列表或数组中,但到目前为止还没有。控制台上没有任何显示。
class test
{
public void tryOut()
{
#region file.read
try
{
string fileLocation = @"shelfInfo.txt";
List<string> cells = File.ReadAllLines(fileLocation).ToList();
aray(cells);
}
catch
{
new FileNotFoundException();
}
#endregion
}
public void aray(List<string> cells)
{
string[] t = new string[20];
string[] k = new string[20];
string a = "", b = "", c = "", d = "";
int i = 0;
foreach (string cell in cells)
{
string[] eachCell = cell.Split('@', '\t', '\n');
a = t[0] = eachCell[0].ToString(); //Consol.Write on eachCell directly shows the right values.
b = t[1] = eachCell[1].ToString();
c = t[2] = eachCell[2].ToString();
d = t[3] = eachCell[3].ToString();
for (; i < eachCell.Length; i++)
{
k[i] = a; //should store the values from eachCell
}
}
Console.Write(" " + a + " " + b + " " + " " + c + " " + d); //means the value are being receivedbut no stored
}
}
// contents of text file
//A11[1]@ A12[0]@ A13[1]@ A14[1]@
//A21[1]@ A21[1]@ A23[0]@ A24[0]@
//A31[1]@ A32[0]@ A33[1]@ A34[1]@
//A41[1]@ A41[1]@ A43[0]@ A44[0]@
我也非常感谢有关异常处理的任何提示。
您的程序没有return任何东西,因为您使用了以下代码。
catch { new FileNotFoundException(); }
Console.Write
return 什么都没有,只是因为捕获了异常,但没有抛出新的异常。出现异常,因为 eachCell
不包含 4 个元素,您尝试访问该元素。事实上,除非您想手动处理此异常,否则不必执行 try-catch
。如果该文件不存在,则 FileNotFoundException
将自动抛出。改变tryOut
方法如下。
public void tryOut()
{
#region file.read
var fileLocation = @"Path";
aray(File.ReadAllLines(fileLocation).ToList());
#endregion
}
public static void aray(List<string> cells)
{
List<string> t = new List<string>();
foreach (string cell in cells)
{
string[] eachCell = cell.Split('@', '\t');
foreach (var e in eachCell)
{
t.Add(e);
}
}
foreach (var e in t)
{
Console.WriteLine(e);
}
}
有人可以告诉我我遗漏了什么吗,class 从文本文件中读取值并应该存储它们以供其他用途,我可以看到这些值
Console.Write(eachCell[0])
但我无法保存这些值。我试过使用
string[]
和 List<string>
但运气不好。它应该将读取的值存储到列表或数组中,但到目前为止还没有。控制台上没有任何显示。
class test
{
public void tryOut()
{
#region file.read
try
{
string fileLocation = @"shelfInfo.txt";
List<string> cells = File.ReadAllLines(fileLocation).ToList();
aray(cells);
}
catch
{
new FileNotFoundException();
}
#endregion
}
public void aray(List<string> cells)
{
string[] t = new string[20];
string[] k = new string[20];
string a = "", b = "", c = "", d = "";
int i = 0;
foreach (string cell in cells)
{
string[] eachCell = cell.Split('@', '\t', '\n');
a = t[0] = eachCell[0].ToString(); //Consol.Write on eachCell directly shows the right values.
b = t[1] = eachCell[1].ToString();
c = t[2] = eachCell[2].ToString();
d = t[3] = eachCell[3].ToString();
for (; i < eachCell.Length; i++)
{
k[i] = a; //should store the values from eachCell
}
}
Console.Write(" " + a + " " + b + " " + " " + c + " " + d); //means the value are being receivedbut no stored
}
}
// contents of text file
//A11[1]@ A12[0]@ A13[1]@ A14[1]@
//A21[1]@ A21[1]@ A23[0]@ A24[0]@
//A31[1]@ A32[0]@ A33[1]@ A34[1]@
//A41[1]@ A41[1]@ A43[0]@ A44[0]@
我也非常感谢有关异常处理的任何提示。
您的程序没有return任何东西,因为您使用了以下代码。
catch { new FileNotFoundException(); }
Console.Write
return 什么都没有,只是因为捕获了异常,但没有抛出新的异常。出现异常,因为 eachCell
不包含 4 个元素,您尝试访问该元素。事实上,除非您想手动处理此异常,否则不必执行 try-catch
。如果该文件不存在,则 FileNotFoundException
将自动抛出。改变tryOut
方法如下。
public void tryOut()
{
#region file.read
var fileLocation = @"Path";
aray(File.ReadAllLines(fileLocation).ToList());
#endregion
}
public static void aray(List<string> cells)
{
List<string> t = new List<string>();
foreach (string cell in cells)
{
string[] eachCell = cell.Split('@', '\t');
foreach (var e in eachCell)
{
t.Add(e);
}
}
foreach (var e in t)
{
Console.WriteLine(e);
}
}