如何读取文本文件并将数据存储到数组列表中

时间:2016-03-24 03:00:37

标签: c#

这是我的问题。我有文本文件,它不包含任何动物名称我的文本文件内部是这样的。

猫p 狗
大鼠
大象

现在我想阅读此文本文件并将这些内容存储到数组列表中 我尝试了解决这些问题的几种方法,但不是单词......

这些是我的代码

List<String> arrayList = new List<String>(); 

String path = Server.MapPath("~\\Resarch\\new.txt");
StreamReader sre = new StreamReader(path); 

for (int x = 0; x < arrayList.Count; x++)
{
     arrayList[x] = sre.ReadLine();     
}  

foreach(var a in arrayList)
{
    TextBox1.Text = a;
}

2 个答案:

答案 0 :(得分:0)

使用File.ReadAllLines

var arrayList = File.ReadAllLines(filepath).ToList();

还有一点,您正在循环收集并将集合中的 last 值分配给Textbox这是预期的吗?您是否需要在文本框中显示所有值或仅显示最后一个值?

更新 显示Textbox

中的列表值
TextBox1.Text = String.Join(Environment.NewLine, arrayList);

答案 1 :(得分:0)

我知道这个问题很旧,但是我认为我的回答会对其他用户有所帮助。 如果要从文本文件中获取一些数据,可以使用以下代码行:

var data = File.ReadAllLines("text.txt").Select(x => x.Split('=')).Where(x => x.Length > 1).ToDictionary(x => x[0].Trim(), x => x[1]);

这是您的text.txt文件应如何工作的样子:

Animal1=cat
Animal2=dog
Animal3=rat
Animal4=elephant
Animal5=bird

此代码的一般用法是:

string a = string.Format("Animal: {0}", data["Animal"]);

例如,如果我理解正确,那么您已经知道您的动物数量。 因此,您可以从1到最后一个动物编号进行for循环:

for (int i = 1; i <= 5; i++)
{
            string animal = string.Format("Animal{0}: {1}", i, data["Animal" + i]);
            // The command to insert data to the array needs to come here.
}