Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带有双';的CSV文件';_C#_Linq_Csv - Fatal编程技术网

C# 带有双';的CSV文件';

C# 带有双';的CSV文件';,c#,linq,csv,C#,Linq,Csv,我有一个具有以下结构的csv文件: 工作日;开胃菜;主要的;甜点价格 csv文件中不得有类似以下内容的初学者或甜点: Monday;Starter3;Main3;Dessert3;4.50 Tuesday;;Main2;Dessert2;4.20 Wednesday;Starter1;Main1;;4.90 现在我有点困惑。我是这样读csv的: db.Meals.AddRange( File.ReadAllLines(@"C:\Temp\meals.csv")

我有一个具有以下结构的csv文件:

工作日;开胃菜;主要的;甜点价格

csv文件中不得有类似以下内容的初学者或甜点:

Monday;Starter3;Main3;Dessert3;4.50
Tuesday;;Main2;Dessert2;4.20
Wednesday;Starter1;Main1;;4.90
现在我有点困惑。我是这样读csv的:

 db.Meals.AddRange(
                File.ReadAllLines(@"C:\Temp\meals.csv")
                .Select(x =>
                {
                    var s = x.Split(';');
                    string weekday = s[0];
                    ....

现在我真的不知道这两者是否都是制造任何麻烦。此时的值是空值还是未注册?

它将为空。。。。因此,请将其视为空列。。。。想象一张桌子。。。4x4 so 4行4列。。所以有16个细胞,现在想象你随机取出1个细胞。。。。那么你就没有什么可以预测的了,因为它不知道哪一列是为哪一行删除的,这是没有意义的,因为一行中有4的数据现在意味着什么。这听起来可能令人困惑,但基本上与、、或您曾经使用的分隔符相同。。。它是一个没有值的单元格。。但是您仍然需要该单元格,否则每行的列将不同

假设当时有列名

Column1   | column 2     | column3
-------------------------------------
Monday    | Starter3     |Main3
Tuesday   |              |Main2
Wednesday | Starter1     |Main1
------------------------------------

希望这有帮助……

你为什么不试试看呢?好的,是的,我明白。不幸的是,我无法使用调试器来尝试此操作,因为我的代码中还有一些其他错误。但是谢谢你的解释@Seabizkit