c# - 删除具有相同属性的列表
问题描述
我有一个对象列表。
每个对象都有 3 个属性。
有没有一种好方法来检查获取属性相同的双重对象。
var upperT = dimensionList.GroupBy(x => x.UpperMetricToleranceValue).Select(x => x.First()).ToList();
var sizeT = dimensionList.GroupBy(x => x.ComputedSize).Select(x => x.First()).ToList();
var lowerT = dimensionList.GroupBy(x => x.LowerMetricToleranceValue).Select(x => x.First()).ToList();
foreach (var dimension in dimensionList)
{
foreach (var upper in upperT)
{
foreach (var lower in sizeT)
{
foreach (var size in lowerT)
{
if (DELETE HERE IF SAME)
{
}
}
}
}
}
所以我认为这不是使用它的好方法。
我不想使用像 moreLinq 这样的第三方库
解决方案
不要使用单个属性进行分组,而是一次使用三个属性:
var unique = dimensionList.GroupBy(x => new {UpperMetricToleranceValue=x.UpperMetricToleranceValue, ComputedSize=x.ComputedSize, LowerMetricToleranceValue=x.LowerMetricToleranceValue}).Select(g => g.First());
推荐阅读
- javascript - Guild 在命令处理程序中未定义
- java - How to sum the elements of the array up to the target number?
- java - 如何在 Android Java 中记录对象?
- wordpress - wp_validate_auth_cookie interfering on Woocommerce API
- prism - Prism View Navigation 在带有重音符号的注册名称上失败
- wordpress - Display attribute images ( Woocommerce )
- javascript - 如何为轮播映射一组子项?
- parse-platform - Parse-server get photo from postman (post-data)
- javascript - mobx: determine that data are added (deleted or modified) to the storage
- scala - 编写可变参数 Scala 谓词方法