【发布时间】:2022-01-06 16:07:58
【问题描述】:
我遇到了一个问题,所以我会提供所有背景信息。
我从一个通用字符串列表中获得了 2 项考试,每项考试都有相同的电子邮件和通过的是或否。
我的收获如何?
var list = new List<string>();
对于每个字符串,我得到一个模型位置 0 到 13 之间的记录,工作正常
List<Participants> p = new List<Participants>();
for (var i = 0; i < list.Count; i += 13)
{
p.Add(new Participants()
{
LastName = list[0 + i],
FirstName = list[1 + i],
AddressType = list[2 + i],
Email = list[3 + i],
Company = list[4 + i],
Phone = list[5 + i],
Street = list[6 + i],
ZipCode = list[7 + i],
City = list[8 + i],
IsSiemens = isSiemens,
Country = list[9 + i],
Percent = list[10 + i],
Points = list[11 + i],
Passed = list[12 + i],
});
}
然后这行得通,因为我知道我只有 2 个部分(考试)
var distinctList = p.GroupBy(s => s.Email).Select(s => s.First()).ToList();
var distinctList = p.GroupBy(s => s.Email).Select(s => s.Last()).ToList();
现在的问题是我可以有更多的考试,我想动态地做,所以对于每封电子邮件我都想知道是否全部通过。换句话说,通过Email 全部Passed 对模型进行分组必须是肯定的,然后我知道对于此认证,特定电子邮件已成功完成。
我被屏蔽了!!
【问题讨论】:
标签: c# list linq filtering grouping