c#中没有任何理由的行分割

本文关键字:分割 理由 任何 | 更新日期: 2023-09-27 18:04:25

我正在逐个文件读取文本文件。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,

c#中没有任何理由的行分割

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

包含内嵌换行符的字段必须用双引号

括起来

下面是一个例子:从CSV阅读器的角度来看,这个文件只有一行,有三个值:

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

在c#表示法中,值为"one", "two'r'nthree""four"

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