如何在文本文件中创建每行的数组?

时间:2016-02-02 21:14:34

标签: c# arrays loops variables readfile

我是C#的新手! 每当我想从其他程序中的.txt文件解析信息时,我会创建一个循环来读取整个文件,并将每一行保存为以该文件命名的数组。我不知道如何在C#中寻找帮助,这是我的过程的一个例子:

//This is not a programming language, just my thought process on how it works;

loop
{
    ReadFile "File1.txt", Line i, save as vTempLine
    if (vTempLine != null)
    {
        vCount = i
        vFile1Array[i] = vTempLine
    }
    else
    {
        vCountLoop1 = vCount
        vTempLine = ""
        vCount = ""
        Break
    }
}

我来自AutoHotkey,这是一个小例子。基本上是:

  1. 循环重复直到休息

  2. 第一个命令一次读取一行.txt文件,告诉读取行i,这是当前循环的行。将此行保存为变量字符串vTempLine

  3. 检查以确保该行存在,然后将当前行计数保存为vCount,将当前行保存为vFile1Array,其中当前数组计数等于循环。这样每个数组编号等于它的形成行(跳过起始数组变量0)。

  4. 如果读取的文件中的行不存在,则它假定文件结束并将临时变量保存到长期变量中,然后关闭这些临时变量并中断循环。

  5. 结束结果将有两个变量,一个名为vCountLoop1,其中包含文件中的行数。

  6. ,第二个变量是一个数组,每个数组变量都存储为文本文件中的一行(跳过数组0的存储)。

1 个答案:

答案 0 :(得分:0)

这段代码不是很好但是你在想这样的东西吗?

string vTempLine;    // Not needed to be declared outside the loop
int i = 0;
int vCountLoop1 = 0; // Not needed: Might be the same as i
Dictionary<int, string> vFile1Array = new Dictionary<int, string>(); // Or use a List<string>

using (StreamReader sr = new StreamReader("File1.txt")) 
{
    while (sr.Peek() >= 0) 
    {
        // if statement is not needed here
        i++;
        vTempLine = sr.ReadLine();
        vCountLoop1 = i;
        vFile1Array[i] = vTempLine; 
    }
}