C#中的行没有任何理由

时间:2015-07-23 20:08:12

标签: c#

我正在通过File.ReadAllLine读取文本文件 然后我使用foreach函数来读取使用行 它工作正常,但有一点它不必要地将一行分成两行

string[] lines = File.ReadAllLines("yilc2.csv");
foreach (string line in lines)
        {
            Console.WriteLine(line);
        } 

CSV文件中的行分为两个

12345.67890,foobar,barbaz,spamham,Female,17,town,12345678901,example@example.com,"Block 42 flat no 05 fourth floor 
jubilee garden apartment dha phase 2",University,,,barbaz,,,,mba,,No,

1 个答案:

答案 0 :(得分:1)

只要这些值被双引号(reference)包围,就允许CSV文件中的各个值包含嵌入换行符。

  

包含嵌入式换行符的字段必须用双引号括起来

以下是一个示例:从CSV阅读器的角度来看,此文件只有一行包含三个值:

"one","two
three","four"

在C#表示法中,值为"one""two\r\nthree""four"

ReadAllLines方法不关注双引号,因此从它的角度来看,该文件包含两行 - "\"one\",\"two""three\",\"four\""