8,497
社区成员
发帖
与我相关
我的任务
分享
static void Main(string[] args)
{
List<User> u = new List<User>() {
new User(){id=1,name="h",value=98},
new User(){id=1,name="h",value=80},
new User(){id=2,name="h",value=31},
new User(){id=3,name="h1",value=65},
new User(){id=4,name="h2",value=55},
};
var q = u.GroupBy(x => new { x.name, x.id }).Where(x => x.Count() > 1)
.SelectMany(x => x.ToList()).ToList();
Console.ReadLine();
}
public class MyTable
{
public int KeId { get; set; }
public string Name { get; set; }
public decimal Score { get; set; }
}
List<MyTable> table = new List<MyTable>();
table.Add(new MyTable { KeId = 1, Name = "AA", Score = 99 });
table.Add(new MyTable { KeId = 1, Name = "BB", Score = 88 });
table.Add(new MyTable { KeId = 2, Name = "AA", Score = 66 });
table.Add(new MyTable { KeId = 3, Name = "AA", Score = 65 });
table.Add(new MyTable { KeId = 3, Name = "CC", Score = 58 });
table.Add(new MyTable { KeId = 3, Name = "DD", Score = 58 });
table.Add(new MyTable { KeId = 4, Name = "DD", Score = 52 });
var result = from t in table
group t by t.Name into g
where g.Count() > 1
select new { Name = g.Key, KeIds = string.Join(",", g.Select(x => x.KeId).Distinct()) };
foreach (var item in result)
{
Response.Write(string.Format("name:{0},keids:{1}<br/>", item.Name, item.KeIds));
}
输出内容:
name:AA,keids:1,2,3
name:DD,keids:3,4