LINQ 分组依据和不包含使用问题
本文关键字:包含使 问题 LINQ | 更新日期: 2023-09-27 17:56:35
我想删除那些以VM & Voice Mail
开头的用户数据
var csvlines = File.ReadAllLines(@"M:'smdr(backup08-06-2015).csv");
var csvLinesData = csvlines.Skip(1).Select(l => l.Split(',').ToArray());
var groupOfUser = from line in csvLinesData
where !line[12].contains('VM') and !line[12].contains('Voice Mail')
group line by line[12] into newGroup
orderby newGroup.Key
select newGroup;
这行where !line[12].contains('VM') and !line[12].contains('Voice Mail')
给出错误和错误是字符文字中的字符太多
它
不是SQL而是C#,所以一个字符串有引号而不是撇号,它&&
不是and
,将其更改为:
where !line[12].Contains("VM") && !line[12].Contains("Voice Mail")
'' 应该用于定义字符文字,如单个数字或 alfa。要定义字符串,您应该使用 ":
where !line[12].Contains("VM") && !line[12].Contains("Voice Mail")
字符字符文字中的字符过多
文本使用单引号表示,并且应该是单个字符 - 即'VM'
和'Voice Mail'
对于字符文本来说太长了。 在 C# 中,必须对字符串使用双引号。 此外,您需要使用 &&
,而不是and
:
where !line[12].contains("VM") && !line[12].contains("Voice Mail")