使用c#迭代的最佳方法是什么?

时间:2017-03-28 19:41:41

标签: c#

我有一个包含数据的文件。 链接在这里: https://pastebin.com/Brbug5MD

任务是迭代,并添加第三列的值(以1-0-0..3..11 ..开头)。 34是总和。

最好的方法是什么?我是c#的初学者,所以任何帮助都会受到赞赏。感谢。

    static void Main(string[] args)
    {
                   string line;
        int sum = 0;
        // Read the file and display it line by line.
        System.IO.StreamReader file =
           new System.IO.StreamReader(@"C:\temp\test.txt");
        while ((line = file.ReadLine()) != null)
        {
            char[] delimiters = new char[] { '|' };
            string[] arr = line.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
            if (string.IsNullOrEmpty(line)) break;
            Console.WriteLine(arr[2]);

            sum += Int32.Parse(arr[2]);

        }
        Console.WriteLine(sum);
        Console.ReadLine();
        file.Close();
    }

我收到System.IndexOutOfRangeException。

{“索引超出了数组的范围。”}我做错了什么?

1 个答案:

答案 0 :(得分:-1)

string line;
int sum = 0;
// Read the file and display it line by line.
System.IO.StreamReader file = 
   new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null)
{
   string[] arr = line.split("|"); // split the line into an array
   sum += Int32.Parse(arr[2]); // get the 3rd element in the row an convert it to int
}

file.Close();