C# list<T>去重

文章目录

  • C# list<T>去重
    • 值类型去重
      • List<object>
        • object is int
        • object is decimal
        • object is char
        • object is bool
        • object is string
      • List<int>
      • List<string>
    • 引用类型去重

C# list去重

值类型去重

List

object is int
//object is intList<object> ointList = new List<object>();ointList.Add(1);ointList.Add(1);ointList.Add(2);ointList = ointList.Distinct().ToList();

在这里插入图片描述

object is decimal
//object is decimalList<object> odecimalList = new List<object>();odecimalList.Add(1.25);odecimalList.Add(1.25);odecimalList.Add(2.25);odecimalList = odecimalList.Distinct().ToList();

在这里插入图片描述

object is char
            //object is charList<object> ocharList = new List<object>();ocharList.Add('a');ocharList.Add('a');ocharList.Add('b');ocharList = ocharList.Distinct().ToList();

在这里插入图片描述

object is bool
            //object is boolList<object> oboolList = new List<object>();oboolList.Add(true);oboolList.Add(false);oboolList.Add(true);oboolList = oboolList.Distinct().ToList();

在这里插入图片描述

object is string
            //object is stringList<object> osList = new List<object>();osList.Add("1");osList.Add("1");osList.Add("2");osList = osList.Distinct().ToList();

在这里插入图片描述

List

            List<int> intList = new List<int>();intList.Add(1111);intList.Add(1111);intList.Add(2222);intList = intList.Distinct().ToList();

在这里插入图片描述

List

            List<string> idList = new List<string>();idList.Add("1111");idList.Add("1111");idList.Add("2222");  idList = idList.Distinct().ToList();

在这里插入图片描述

引用类型去重

private class NetworkCtrl{#region <属性>/// <summary>/// 网控对象ID/// </summary>public string NetCtrlId { get; set; }/// <summary>/// 业务对象ID/// </summary>public string InterID { get; set; }/// <summary>/// 业务操作/// </summary>public string OperationDesc { get; set; }#endregion <属性>}
List<NetworkCtrl> ncList = new List<NetworkCtrl>();ncList.Add(new NetworkCtrl{InterID = "100148",NetCtrlId = "9cc2c432-56a9-b38d-11ee-794e3a9853e2",OperationDesc = "售后单-SH231103001-下推其它出库单"});ncList.Add(new NetworkCtrl{InterID = "100149",NetCtrlId = "9cc2c432-56a9-b38d-11ee-794e3a9853e2",OperationDesc = "售后单-SH231103002-下推其它出库单"});ncList.Add(new NetworkCtrl{InterID = "100148",NetCtrlId = "9cc2c432-56a9-b38d-11ee-794e3a9853e2",OperationDesc = "售后单-SH231103001-下推其它出库单"});var ncList1 = ncList.Distinct().ToList();var ncList2 = ncList.GroupBy(x => x.InterID).Select(y => y.First()).ToList();

集合里有三条记录,其中两条重复。
在这里插入图片描述
使用Distinct后,还有三条,说明distinct失败
在这里插入图片描述
原因是,引用类型即使属性一样,引用地址是不一样的。
只能用别的方式去避免。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/180853.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis-命令操作Redis

&#x1f3ac; 艳艳耶✌️&#xff1a;个人主页 &#x1f525; 个人专栏 &#xff1a;《Spring与Mybatis集成整合》《Vue.js使用》 ⛺️ 越努力 &#xff0c;越幸运。 1.Redis简介 1.1.什么是Redis Redis是一个开源&#xff08;BSD许可&#xff09;&#xff0c;内存存储的数据…

unittest 通过TextTestRunner(buffer=True)打印断言失败case的输出内容

buffer是unittest.TextTestRunner的一个参数&#xff0c;它决定了测试运行时是否将输出结果缓存&#xff0c;并在测试完成后一次性打印。 当buffer设置为True时&#xff0c;测试运行期间的输出结果会被缓存起来&#xff0c;并在测试完成后一次性打印。这对于一些输出频繁的测试…

SPSS多因素方差分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

MongoDB安装及开发系例全教程

一、系列文章目录 一、MongoDB安装教程—官方原版 二、MongoDB 使用教程(配置、管理、监控)_linux mongodb 监控 三、MongoDB 基于角色的访问控制 四、MongoDB用户管理 五、MongoDB基础知识详解 六、MongoDB—Indexs 七、MongoDB事务详解 八、MongoDB分片教程 九、Mo…

炸了!CVPR 2024投稿ID突破18000

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 点击进入—>【计算机视觉和Transformer】交流群 扫码加入CVer知识星球&#xff0c;可以最快学习到最新顶会顶刊上的论文idea和CV从入门到精通资料&#xff0c;以及最前沿项目和应用&…

分析报告有样板了-奥威BI数据可视化报表模板

述职报告、月度数据分析报告、季度数据分析报告、区域数据分析报告……人在职场&#xff0c;数据分析报告少不了。那么&#xff0c;怎么才能在极短的时间内做出一张既好看又突出重点、分析逻辑在线的数据可视化分析报表&#xff1f;奥威BI软件的建议是采用BI数据可视化报表模板…

0-1矩阵列互斥问题——回溯法 Python实现

三、 0-1 矩阵的列集互斥问题。给定一个 m n m \times n mn 的 0-1 矩阵 A \mathrm{A} A 。定义列互斥为: 对于矩阵 A A A 中的任意两列 i i i 和 j j j, 如果在对应的每一行上, i i i 和 j j j 不存在同时为 1 的情况, 则称列 i \mathrm{i} i 和 j \mathrm{j} j 互斥…

unity工程

1首先我们来熟悉一下Unity每个文件夹的作用 1.assets&#xff1a;工程资源文件夹 2.library&#xff1a;库文件夹 3.logs&#xff1a;日志文件夹 4.obj&#xff1a;编译产生中间文件 5.packages&#xff1a;包配置信息 6&#xff1a;projectsettings&#xff1a;工程设置…

Sync Folders Pro(文件夹数据同步工具)

Sync Folders Pro for Mac 是一款功能强大的文件夹同步工具&#xff0c;旨在帮助用户在 Mac 计算机和移动设备之间创建双向同步。这款软件支持各种文件系统和设备&#xff0c;如 iPhone&#xff0c;iPad&#xff0c;iPod&#xff0c;Android 等。通过这款软件&#xff0c;用户可…

【入门Flink】- 03Flink部署

集群角色 Flik提交作业和执行任务&#xff0c;需要几个关键组件&#xff1a; 客户端(Client)&#xff1a;代码由客户端获取并做转换&#xff0c;之后提交给JobManger JobManager&#xff1a;就是Fink集群里的“管事人”&#xff0c;对作业进行中央调度管理&#xff1b;而它获…

uni-app华为审核被拒,驳回原因:您的应用在运行时,未见向用户告知权限申请的目的

华为审核被拒&#xff1a; 您的应用在运行时&#xff0c;未见向用户告知权限申请的目的&#xff0c;向用户索取(相机存)等权限&#xff0c;不符合华为应用市场审核标准。 <uni-popup ref"perpopup" type"center" :mask-clickfalse><view class&qu…

Leetcode—421.数组中两个数的最大异或值【中等】明天写一下字典树做法!!!

2023每日刷题&#xff08;十九&#xff09; Leetcode—421.数组中两个数的最大异或值 算法思想 参考自灵茶山艾府 实现代码 class Solution { public:int findMaximumXOR(vector<int>& nums) {int maxValue *max_element(nums.begin(), nums.end());int highId…

1. PPT高效初始化设置

1. PPT高效初始化设置 软件安装&#xff1a;Office 2019 主题和颜色 颜色可以在白天与黑夜切换&#xff0c;护眼 切换成了黑色 撤回次数 撤回次数太少&#xff0c;只有20次怎么办 自动保存 有时忘记保存就突然关闭&#xff0c;很需要一个自动保存功能 图片压缩 图…

Android和JNI交互 : 常见的图像格式转换 : NV21、RGBA、Bitmap等

1. 前言 最近在使用OpenCV处理图片的时候&#xff0c;经常会遇到需要转换图像的情况&#xff0c;网上相关资料比较少&#xff0c;也不全&#xff0c;有时候得费劲老半天才能搞定。 自己踩了坑后&#xff0c;在这里记录下&#xff0c;都是我在项目中遇到的图像转化操作&#xf…

【音视频 | Ogg】libogg库详细介绍以及使用——附带libogg库解析.opus文件的C源码

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

uni-app小程序使用vant

步骤一&#xff1a;安装 Vant Weapp # 通过 npm 安装 npm i vant/weapp -S --production# 通过 yarn 安装 yarn add vant/weapp --production# 安装 0.x 版本 npm i vant-weapp -S --production步骤二&#xff1a;在根目录下创建“wxcomponents”文件夹 步骤三&#xff1a;找…

分享86个工作总结PPT,总有一款适合您

分享86个工作总结PPT&#xff0c;总有一款适合您 PPT下载链接&#xff1a;https://pan.baidu.com/s/12aRTr5NKG5YTnMnwNbqOrQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知…

利用 docker 实现JMeter分布式压测

为什么需要分布式&#xff1f; 在工作中经常需要对一些关键接口做高QPS的压测&#xff0c;JMeter是由Java 语言开发&#xff0c;没创建一个线程&#xff08;虚拟用户&#xff09;&#xff0c;JVM默认会为每个线程分配1M的堆栈内存空间。受限于单台试压机的配置很难实现太高的并…

计算机组成与体系结构

计算机组成与体系结构&#xff08;2-4分&#xff09; 课程摘要 计算机组成结构 CPU组成 骚戴理解&#xff1a; 指令寄存器&#xff08;IR&#xff09;存放的是从内存中取得指令&#xff0c;就像个中间站一样&#xff0c;不过是存放指令的中间站程序计数器&#xff08;PC&…

在Photoshop中如何校正倾斜的图片

在Photoshop中如何校正倾斜的图片呢&#xff1f;今天就教大家如何操作。 将需要操作的图片拉到PS软件中&#xff0c;自动形成项目。 点击上方“滤镜”中的“镜头校正”。 进入“镜头校正”窗口&#xff0c;点击左侧的“拉直工具”。文章源自设计学徒自学网-http://www.sx1c.co…