GroupBy 从 IEnumerable 对象列表中删除重复项

2023-12-13

我有一个重复名称列表,我想获取没有重复名称的列表。

 CSVCategories = from line in File.ReadAllLines(path).Skip(1)
                            let columns = line.Split(',')
                            select new Category
                            {
                                Name = columns[9]
                            };

            var results = CSVCategories.GroupBy(x => x.Name)
                         .Select(g => g.FirstOrDefault())
                         .ToList();

我尝试使用以下循环查看元素并进行调试,但它仍然从列表中返回重复项,包括空值的空字符串:

foreach(var item in results)
{
    Console.WriteLine(item.Name);
}

调用 Distinct 很可能不起作用,因为您的 Category 类没有正确实现 Equals 和 GetHashCode。

你有两个选择。正确重写 Equals 和 GetHashCode 方法,或使用 Hashset 检查 Name 是否尚未添加。

var uniqueNames = new Hashset<string>(); 

// Original select statement

CSVCategories = CSVCategories.Where(x => uniqueName.Add(x.Name)).ToList();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GroupBy 从 IEnumerable 对象列表中删除重复项 的相关文章

  • 无法在 CUDA 中找到 1 到 100 数字的简单和?

    我正在研究使用 CUDA 的图像处理算法 在我的算法中 我想使用 CUDA 内核找到图像所有像素的总和 所以我在cuda中制作了内核方法 来测量16位灰度图像的所有像素的总和 但我得到了错误的答案 所以我在cuda中编写了一个简单的程序来查
  • 表中主键的最佳实践是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在设计表时 我养成了一种习惯 即有一列是唯一的 并且我将其作为主键 根据要求 可以通过三种方式实现 自动递增的标识整数列 唯一标识符 GUID
  • 如何在 C++ 中为指针“this”赋值

    在函数中 如何分配this一个新的价值 您可以分配对象this点于 this XY 但你不能分配直接值this this XY Error Expression is not assignable
  • 如何在 Linux 上重新实现(或包装)系统调用函数?

    假设我想完全接管 open 系统调用 也许要包装实际的系统调用并执行一些日志记录 一种方法是使用 LD PRELOAD http scaryreasoner wordpress com 2007 11 17 using ld preload
  • 在 C# 中解析 JS Date.toIsoString

    我需要将 JS 日期存储为 ISO 8601 日期 我目前正在从格式为 2019 06 22T00 00 00 000Z 的表单中获取日期 正如 JS 的 toIsoString 方法所期望的那样 当这个日期传递到我的 API 控制器时 我
  • C# 结构默认值

    我有一个方法 它接受一个包含许多具有基本数据类型的字段的结构 我想传递大部分默认值 但需要进行一些调整 但我了解结构声明中的基本字段不能包含默认值声明 例如struct S int a 42 现在是这样的 OptionsStruct opt
  • 使用 STL 流时如何格式化我自己的对象?

    我想将我自己的对象输出到 STL 流 但具有自定义格式 我想出了这样的东西 但由于我之前从未使用过 locale 和 imbue 所以我不知道这是否有意义以及如何实现 MyFacet 和operator 所以我的问题是 这是否有意义以及如何
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • 如何从 Powerpoint 2010 导出电影?

    如何使用 MS Office PIA 主互操作程序集 或其他方式以编程方式将嵌入视频从 powerpoint 2010 导出到外部文件 在演示文稿中嵌入视频是 Powerpoint 2010 中的一项新功能 我找不到解决方案 PPTX 文件
  • 运行实体框架自定义工具,它有什么作用?

    在 Visual Studio 中 当使用实体框架并为 tt 和 Context tt 文件应用运行自定义工具时 它是什么以及它有什么作用 为什么它解决数据库同步问题 有时 为什么我应该在运行 tt 之前运行它 Context tt 它被称
  • MPI - 发送和接收列

    我需要从一个进程发送矩阵列并从另一个进程接收它 我尝试运行以下程序 但得到了一个奇怪的结果 至少我这么认为 仅复制矩阵的第一个元素 某些矩阵元素会发生意外变化 include
  • g++ / gcc 是否支持 C++20 新的atomic_flag 功能?

    根据参考参数 https en cppreference com w cpp atomic atomic flag c 20 有丰富的 对我来说有用的 支持atomic flag运营 然而 目前尚不清楚 gcc 是否支持这些功能 它们在任何
  • 如何在 Hibernate 中使用 SELECT 进行 INSERT

    我需要在休眠中实现以下请求 insert into my table max column values select max id from special table where 如何在休眠中使用注释来做到这一点 Special tab
  • 将 .sql 文件导入 SQLite

    我正在尝试将大型 sql 文件导入 SQLite db 文件 但出现以下错误 sqlite gt read smsCorpus en 2012 04 30 sql Error near line 23 near COMMENT syntax
  • 尝试后终于没有被调用

    由于某种原因 在我的控制台应用程序中 我无法运行我的finally 块 我编写这段代码是为了测试finally块是如何工作的 所以它非常简单 static void Main int i 0 try int j 1 i Generate a
  • C++ 中的析构函数

    我的 AB h 文件中有一个构造函数 class AB private int i public AB i 0 constructor AB i 0 destructor virtual void methodA unsigned int
  • java有类似C#的属性吗? [复制]

    这个问题在这里已经有答案了 C 属性 我的意思是 get 和 set 方法 是一个非常有用的功能 java 也有类似 C 的属性吗 我的意思是我们如何在 java 中实现类似以下 C 代码的内容 public string Name get
  • 将同步 zip 操作转换为异步

    我们有一个现有的库 其中一些方法需要转换为异步方法 但是我不确定如何使用以下方法执行此操作 错误处理已被删除 该方法的目的是压缩文件并将其保存到磁盘 请注意 zip 类不公开任何异步方法 public static bool ZipAndS
  • NHibernate:无状态会话错误消息无法获取代理

    我正在使用 nHibernate 无状态会话来获取对象 更新一个属性并将对象保存回数据库 我不断收到错误消息 无状态会话无法获取代理 我在其他地方有类似的代码 所以我不明白为什么这不起作用 有谁知道问题可能是什么 我正在尝试更新Screen
  • 如何使用 Microsoft Graph API 更新 MailboxSettings

    我想从不同的日历更新邮箱设置 如何构建可以通过 Microsoft Graph 更新 MailboxSetting 的请求 这是我的代码示例 但有例外 代码示例 User obj GraphServiceClient Users roomC

随机推荐

  • 我可以在内核空间中拥有超过 32 个 netlink 套接字吗?

    我有几个需要与用户空间交互的内核模块 因此 每个模块都有一个 Netlink 套接字 我的问题是这些套接字相互干扰 这是因为它们都注册到同一个 Netlink 地址族 因为一开始可用的地址族并不多 最大值为 32 and 一半以上已被预订
  • 408 请求超时 Microsoft Speech to Text

    我的 wav 文件长度只有 4 秒 即使多次重试并在云上运行后 我仍然不断收到以下错误 upload completely sent off 12 out of 12 bytes lt HTTP 1 1 408 Request timed
  • 数据库设计:复合键与一列主键

    我们的 Web 应用程序的数据库包含两个表 States idStates State Lat Long idStates是一个自增主键 Cities idAreaCode idStates City Lat Long idAreaCode
  • 分支逻辑测验——我哪里出错了? [JavaScript]

    我正在尝试为 简单 jQuery 测验开发逻辑 这里小提琴 问题是 问题路径有些动态 并产生树结构 例如 第一个问题是关于宠物 狗 猫还是鸟 如果您选择狗 它会询问狗的品种 如果您选择猫 它会询问猫的品种 等等 然后深入研究 这个特定品种的
  • ruby 中“do .. end”和“{..}”块的不同行为[重复]

    这个问题在这里已经有答案了 抱歉 如果这个问题重复 但我找不到用法上的区别 当我运行下面的代码时 我得到了不同的答案 我从大多数教程中看到 使用 do end 与 块相同 include Comparable a 1 4 2 3 5 p a
  • 如何使用实体框架 4.x 动态选择表?

    假设我有一个名为MyDatabase有两张桌子 MyTable1 and MyTable2 使用 Entity Framework 4 x 和 NET 4 的 Code First 方法 我生成了一个名为的上下文MyDatabaseCont
  • CSS中使用渐变效果反射文本

    我需要用 CSS 反射文本并为其添加渐变 这是一个例子我想要的 但我不想要具有 alpha 透明度的淡出 png 图像因为身体有背景 https jsfiddle net 9318Ltkp slogan font size 30px lin
  • 仅存档时出现 ARC 语义问题“多个名为‘setRotation’的方法”

    我在 cocos2dv3 中的项目正在抛出ARC语义问题发现多个名为 setRotation 的方法 其结果 参数类型或属性不匹配 归档时 发布模式 它在部署到模拟器 设备 调试模式 时运行良好 在发布模式下 编译器会混淆旋转的实现UIRo
  • 如何使安全令牌在被动 STS 设置中自动过期?

    我为我正在开发的新应用程序设置了被动 STS 我注意到 当用户的会话过期时 该用户仍然经过身份验证 我本以为当会话过期时 用户将不再被验证 我的老板与我讨论了这个问题 因为我目前负责设置身份验证 他说 如果我们能让用户的登录在一段时间内不活
  • 崩溃加载可穿戴活动

    将 AppCompatActivity 迁移到 WearableActivity 时 我收到崩溃消息 并显示以下消息 引起原因 java lang IllegalStateException 找不到可穿戴设备 共享库类 请添加uses li
  • 对象 # 的属性“submit”不是函数

    谁能向我解释这个错误意味着什么 如果您能提供任何帮助 我将非常感激
  • log4j:ERROR setFile(null,false) 调用失败

    我面临一些奇怪的错误 如下所示 log4j ERROR setFile null false call failed java io FileNotFoundException debug log Access is denied src
  • TCL:execegrep“子进程异常退出”

    我的egrep命令有问题 当我在 tcsh 中执行命令时 它工作正常 但是当我从 tcl 脚本或在 tclsh 中执行它时 我得到 子进程异常退出 grep 使用其退出状态来指示存在 不存在匹配项 man page 如果没有匹配 则退出状态
  • 为什么使用 boost::copy_exception 时会丢失类型信息?

    当我使用boost copy exception将异常复制到exception ptr 我丢失了类型信息 看一下下面的代码 try throw std runtime error something catch exception e pt
  • 在 .NET Core 中的 MVC 之外使用 Razor

    我想在我用 NET Core 编写的 NET 控制台应用程序中使用 Razor 作为模板引擎 我遇到的独立 Razor 引擎 RazorEngine RazorTemplates 都需要完整的 NET 我正在寻找适用于 NET Core 的
  • Python 3 中“python -m SimpleHTTPServer”的等价物是什么

    Python 3 相当于什么python m SimpleHTTPServer From the docs The SimpleHTTPServer模块已合并到http server在Python 3 0中 将源文件转换为 3 0 时 2t
  • 是否可以在 JavaFX 中制作对角列标题?

    我的 JavaFX TableView 看起来像这样 如果顶部的标签是diagonal以节省空间 我想象它是这样的 目标是使该列与内容紧密贴合 尽管标题标签很长 能做到吗 None
  • Haskell 中的基本 I/O 性能

    另一个微基准测试 为什么是这个 循环 用ghc O2 fllvm 7 4 1 Linux 64位3 2内核 重定向到 dev null mapM print 1 100000000 比普通的简单 for 循环慢大约 5 倍C with wr
  • 为什么 Python 中的整数需要三倍的内存?

    在 64 位系统上 Python 中的整数占用 24 个字节 这是例如所需内存的 3 倍 C 表示 64 位整数 现在 我知道这是因为 Python 整数是对象 但是额外的内存有什么用呢 我有我的猜测 但很高兴能确定 请记住 Pythoni
  • GroupBy 从 IEnumerable 对象列表中删除重复项

    我有一个重复名称列表 我想获取没有重复名称的列表 CSVCategories from line in File ReadAllLines path Skip 1 let columns line Split select new Cate