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]
。少打字就是少打字,而且添加的字符在功能或易读性方面没有任何好处。我同意,我只是不想离原始代码太远。