C# Linq-使用“不”;在;操作员从文本文件中选择不重复的行

C# Linq-使用“不”;在;操作员从文本文件中选择不重复的行,c#,linq,text,file,C#,Linq,Text,File,我使用Linq从文本文件中选择和处理行。我的txtfile是由管道字符“|”分隔的两列。该文件包含以下内容: var nonDuplicates = from line in query1 group line by line.ID into grouped where grouped.Count() == 1 select grouped.First() 哈比| 11 GABBOT| 22 达布达| 33 拉坎特| 44 拉达| 55 达布达| 66 您会注意到第3行

我使用Linq从文本文件中选择和处理行。我的txtfile是由管道字符“|”分隔的两列。该文件包含以下内容:

var nonDuplicates = from line in query1
    group line by line.ID into grouped
    where grouped.Count() == 1
    select grouped.First()
哈比| 11
GABBOT| 22
达布达| 33
拉坎特| 44
拉达| 55
达布达| 66

您会注意到第3行和第6行有一个重复的ID(第1列)。我想使用linq最初读取发布的txt文件,找到副本(并报告副本),然后我想从ling查询中仅选择不重复的行。以下是我所拥有的:

 StreamReader srReader = new StreamReader(fUpload.PostedFile.InputStream);

                var query1 =
                       from line in srReader.Lines()
                       let items = line.Split('|')
                       select new UploadVars()
                       {
                           ID = items[0],
                           Number = items[1]
                       };
                var GroupedQuery = from line in query1
                                   group line by line.ID into grouped
                                   where grouped.Count() > 1
                                   select new {
                                       ID = grouped.Key,
                                       MCount = grouped.Count()
                                   };

                StringBuilder sb = new StringBuilder();
                foreach (var item in GroupedQuery)
                {

                    sb.AppendFormat("The following external ID's occur more than once and have not been processed:<br> {0}. Duplicated {1} times.", item.ID, item.MCount);
                }
qrynodupedms的结果是文本文件中的完整列表。谁能解释一下我做错了什么。。。
提前感谢

查询中,
分组
变量也是一个包含组中TEM的
IEnumerable

因此,您可以编写以下内容:

var nonDuplicates = from line in query1
    group line by line.ID into grouped
    where grouped.Count() == 1
    select grouped.First()

谢谢你的及时帮助。我能重新获得期望的结果。您可能不知道为什么Not IN(!)运算符没有返回正确的结果?