Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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文件中带字符串拆分和数组的LINQ问题_C#_Linq - Fatal编程技术网

C# csv文件中带字符串拆分和数组的LINQ问题

C# csv文件中带字符串拆分和数组的LINQ问题,c#,linq,C#,Linq,鉴于以下代码: var query = from line in ClientCount() let aLine = line.Split(",") where aLine.GetValue(1) != 0 select aLine; 要查询csv文件,aLine.GetValue(1)是否会获取.csv文件中的第一行(0之后)或第一个字符串,例如:

鉴于以下代码:

            var query = from line in ClientCount()
                    let aLine = line.Split(",")
                    where aLine.GetValue(1) != 0
                    select aLine;
要查询csv文件,aLine.GetValue(1)是否会获取.csv文件中的第一行(0之后)或第一个字符串,例如:

美国广播公司

因此获得def?我想得到def,但我还想得到上面的标题2,在这样一个文件中:

标题,标题2

美国广播公司

我该怎么做

顺便说一句,我知道这是LINQ到CSV之间的事,但我自己做这件事是为了练习


谢谢

所以,如果我读对了,你想得到一对“title2”,“def”;否则,您需要获取column1的值。您需要对LINQ进行的唯一更改如下:

var query = from line in ClientCount()
    let aLine = line.Split(new[] { ',' })
    where aLine.GetValue(1) != "0"
    select aLine.GetValue(1);

这将排除第二列的值为“0”的行,我假设您正在尝试这样做。这段代码编译并运行,并为您指定的集合提供一个IEnumerable,其值为“def”和“title2”。

虽然实践很好,但CSV实际上比名称所暗示的要复杂得多-您已经引用/未引用了多行,而且在某些区域,“c”变成了句点(“.”)

我强烈建议您使用一些预先轧制的材料,例如


(幸运的是TSV通常没有那么糟糕)

我会做
line.Split(',')
aLine[1]
。少打字就是少打字,而且添加的字符在功能或易读性方面没有任何好处。我同意,我只是不想离原始代码太远。