我有两个变量使用条件来分组数据列表 string FileNo =“”; string FileName =“”;
因为FileNo和FileName可能为空 所以当我有一个数据列表如下所示: List DataList = new List();
我想确保FileNo和FileName不为空,然后我将在
组中使用它们我不知道如何将它们嵌入到LINQ语法中。有些看起来像这样:
var TotalDuplicate = GridList.GroupBy(x,y => "".Equals(FileNo) : x.FileNo,
"".Equals(FileName) : y.FileName
.Count(x => x.Count() > 1);
答案 0 :(得分:3)
您正在尝试以错误的方式解决错误的别名问题:而不是按照由$"{FileNo}:{FileName}"
两个部分组成的单个字符串进行分组,使用通常的LINQ方式对一对字符串进行分组:
var duplicates = GridList
.GroupBy(x => new { x.FileNo, x.FileName })
.Count(g => g.Count() > 1);
答案 1 :(得分:1)
尝试
List<string> x = new List<string>() { "", "pp", "jj", "kjj", "", "" };
foreach (string s in x.Select(xx => string.IsNullOrEmpty(xx) ? "Empty" : "Populated"))
{
Console.WriteLine(s);
}
输出:
空 人口稠密 人口稠密 人口稠密 空 空
我在Select语句中做了什么,你也可以在其他linq语句中做到这一点(Where,Group etc)