我是C#的新手,也是一般的编程人员。我正在尝试读取txt文件的内容并将其加载到arraylist
。我无法弄清楚在while
循环中使用什么条件。
void LoadArrayList()
{
TextReader tr;
tr = File.OpenText("C:\\Users\\Maattt\\Documents\\Visual Studio 2010\\Projects\\actor\\actors.txt");
string Actor;
while (ActorArrayList != null)
{
Actor = tr.ReadLine();
if (Actor == null)
{
break;
}
ActorArrayList.Add(Actor);
}
}
答案 0 :(得分:2)
void LoadArrayList()
{
TextReader tr;
tr = File.OpenText("C:\\Users\\Maattt\\Documents\\Visual Studio 2010\\Projects\\actor\\actors.txt");
string Actor;
Actor = tr.ReadLine();
while (Actor != null)
{
ActorArrayList.Add(Actor);
Actor = tr.ReadLine();
}
}
答案 1 :(得分:1)
您只需 2行代码
即可string[] Actor = File.ReadAllLines("C:\\Users\\Maattt\\Documents\\Visual Studio 2010\\Projects\\actor\\actors.txt");
ArrayList list = new ArrayList(Actor);
答案 2 :(得分:0)
这应该是
void LoadArrayList()
{
string[] lines = System.IO.File.ReadAllLines(@"C:\Users\Maattt\Documents\Visual Studio 2010\Projects\actor\actors.txt");
// Display the file contents by using a foreach loop.
foreach (string Actor in lines)
{
ActorArrayList.Add(Actor);
}
}
答案 3 :(得分:0)
只需重新安排它:
Actor = tr.ReadLine();
while (Actor != null)
{
ActorArrayList.Add(Actor);
Actor = tr.ReadLine();
}
答案 4 :(得分:0)
如果您查看the documentation for the TextReader.ReadLine
method,如果没有其他行,您会看到它返回string
或null
。因此,您可以做的是循环并根据ReadLine
方法的结果检查null。
while(tr.ReadLine() != null)
{
// We know there are more items to read
}
但是,如上所述,您没有捕获ReadLine
的结果。所以你需要声明一个字符串来捕获结果并在while循环中使用:
string line;
while((line = tr.ReadLine()) != null)
{
ActorArrayList.Add(line);
}
另外,我建议使用通用列表,例如List<T>
而不是非通用ArrayList
。使用类似List<T>
的内容可以提高类型安全性并减少无效分配或转换的可能性。