Cor*_*ker 2 c# linq anonymous-types composite-key
C#:我有一组对象.T有2个属性.属性A和属性B.此集合需要遵守的规则是A和B的值组合在集合中必须是唯一的.换句话说,A和B需要用作复合主键.
在Linq有一个操作我可以用来检查这种情况吗?我希望它会像
if (items.Select(x => x.Name).Distinct().Count() != items.Select(x => x.Name).Count())
Run Code Online (Sandbox Code Playgroud)
上面的陈述是我如何检查集合中是否有重复名称的项目,但我不知道如何为多个属性执行此操作.
Jon*_*eet 12
使用匿名类型选择复合键,例如
int totalCount = items.Count();
int distinctCount = items.Select(x => new { x.Name, x.Other })
.Distinct()
.Count();
Run Code Online (Sandbox Code Playgroud)
匿名类型根据其属性(以及这些属性类型的默认相等比较器)自动实现相等和哈希码.
| 归档时间: |
|
| 查看次数: |
1078 次 |
| 最近记录: |