c# - 使用 linq 在列表中的对象内发现重复变量,然后在所述对象中使用另一个变量,其中包含重复的 objectId
问题描述
我是 linq 的新手,我已经尝试过这个应该检查重复项的功能。我想要做的是检查我的建筑对象列表,以检查是否有任何建筑对象包含与列表中另一个建筑对象相同的 objectID。最后我想使用重复的 buildingObject 的 GUID,并将其打印到我的日志中供用户查看。
public class FMBuildingObject
{
public Int64 ObjectId { get; set; }
public string GUID { get; set; }
}
建筑对象更大,但这是我正在使用的值。接下来我尝试使用 buildingobjects,查找重复项,然后将 GUID 打印出来。但是我不知道如何访问该 GUID。
var query =
buildingObjects
.GroupBy(x => new { x })
.Select(group => new { Name = group.Key, Count = group.Count() })
.OrderByDescending(x => x.Count);
foreach (var q in query)
{
var updateLog = new LogServiceModel()
{
LogType = LogTypes.Warning, Parameters = { {?GUID?}}, LogTitle = "You have used two different classifications on a same Buildingobject in {0}. "
};
logService.Create(updateLog);
}
解决方案
这将返回一个List<string>
包含具有重复ObjectId
's 的对象的 GUID:
var result = buildingObjects
.GroupBy(b => b.ObjectId)
.Where(g => g.Count() > 1)
.SelectMany(g => g.Select(b => b.GUID)).ToList();
推荐阅读
- python - Python:在单个列中搜索 CSV 文件中的特定值并返回整行
- sql - Dapper 在使用存储过程更新表后停止拉连接表
- apache-spark - 正确并行化 pyspark 文本分析应用程序
- amazon-web-services - 如何使用 Cloudformation 从 EC2 实例获取辅助 IPv4 地址
- python - 如何将列表转换为单独的数组
- python - 无法将 TKInter 值添加到 MySQL 表
- flutter - 如何在颤振构建中混淆资产文件
- laravel - Laravel Fortify - 如何生成两因素密钥?
- c++ - VS 19 - 当我初始化一个变量时,它突然“重新格式化”它,我该如何关闭它?
- django - 在管理员内联中上传文件时 CSRF 验证失败