C# list<T>去重

news2024/11/26 15:29:12

文章目录

  • 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 int
   List<object> ointList = new List<object>();
   ointList.Add(1);
   ointList.Add(1);
   ointList.Add(2);
   ointList = ointList.Distinct().ToList();

在这里插入图片描述

object is decimal
//object is decimal
            List<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 char
            List<object> ocharList = new List<object>();
            ocharList.Add('a');
            ocharList.Add('a');
            ocharList.Add('b');
            ocharList = ocharList.Distinct().ToList();

在这里插入图片描述

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

在这里插入图片描述

object is string
            //object is string
            List<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.coloradmin.cn/o/1167178.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【华为数通HCIP | 网络工程师】821-BGP高频题、易错题(1)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;hmmwx53 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️ 零…

如何进行有效的成本控制?

如何进行有效的成本控制&#xff1f; 接下来我会通过一些例子为大家深入浅出的讲讲生产制造业是如何进行成本控制的&#xff0c;下面用到的图片和系统都来自简道云的生产管理系统 这也是我们公司目前正在用的生产管理系统&#xff0c;是我们团队自己搭建的&#xff0c;在这里…

经典二叉树试题(一)

文章目录 一、相同的树1、题目介绍2、思路讲解3、代码演示 二、对称二叉树1、题目介绍2、思路讲解3、代码演示 三、二叉树的最大深度1、题目介绍2、思路讲解3、代码演示 四、左子树之和1、题目介绍2、思路讲解3、代码演示 五、平衡二叉树1、题目介绍2、思路讲解3、代码演示 六、…

使用C++的QT框架实现五子棋

最近有点无聊正好想玩五子棋&#xff0c;那就实现一下这个游戏吧&#xff0c;网上的五子棋逻辑又长又复杂&#xff0c;我这个逻辑还是蛮简单的&#xff0c;展示如下 这是一个简单的五子棋&#xff0c;今天就了解一下这个游戏的思路&#xff0c;使用的是QT框架&#xff0c;只要思…

企业寄件平台一站式管理教程

企业寄件管理平台的诞生&#xff0c;有两大影响因素&#xff1a; 1、企业寄件管理在企业管理体系中越发重要 随着互联网和快递业的发展&#xff0c;企业对外业务开始依托网络、快递。因公寄件在企业中已经是常事&#xff0c;这几年疫情的影响下&#xff0c;越发明显。寄合同、…

活动回顾|OpenTiny 参与线下大会:共创开源未来,助力低代码技术创新

前言 10月下旬 OpenTiny 社区有幸参与了中国开源年会 COSCon’23及华为云开发者日南京站活动。中国开源年会 COSCon’23活动于2023年10月28日至29日在成都菁蓉汇举行&#xff0c;以“科技向善”为指引&#xff0c;旨在推动开源技术和社区的发展&#xff0c;加强产学研合作&…

基于单片机的无线报警系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、整体设计方案二、 系统的总体方案论证与设计2.1系统的功能要求2.2 系统的技术要求2.3 系统的方案论证及设计2.3.…

PHP进销存ERP系统源码

PHP进销存ERP系统源码 系统介绍&#xff1a; 扫描入库库存预警仓库管理商品管理供应商管理。 1、电脑端手机端&#xff0c;手机实时共享&#xff0c;手机端一目了然。 2、多商户Saas营销版 无限开商户&#xff0c;用户前端自行注册&#xff0c;后台管理员审核开通 3、管理…

更快更准 | YOLOv3算法超详细解析(包括诞生背景+论文解析+技术原理等)

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。YOLOv3是一种基于深度学习的目标检测算法&#xff0c;它可以快速而准确地在图像中检测出多个目标。它是由Joseph Redmon和Ali Farhadi在2018年提出的&#xff0c;是YOLO&#xff08;You Only Look Once&#xff09;系列算法…

写了上千篇文章总结出来的高质量文章内容要点

文章目录 &#x1f50a;博主介绍&#x1f964;本文内容&#x1f34a; 1. 确定文章主题&#x1f34a; 2. 确定目标读者&#x1f34a; 3. 研究资料和信息&#x1f34a; 4. 制定写作计划&#x1f34a; 5. 确定文章结构&#x1f389; 5.1引言&#x1f389; 5.2主体&#x1f389; 5.…

学习笔记|正负偏态的转换方法|对数转换|正态得分法|适用条件|《小白爱上SPSS》课程:加餐 | 如何将非正态分布数据转换为正态分布的?手把手教你SPSS操作

目录 学习目的软件版本原始文档将非正态分布数据转换为正态分布一、正负偏态的转换方法&#xff08;一&#xff09;正偏态数据转换方法&#xff08;二&#xff09;负偏态数据转换方法 三、正态性检验&#xff08;一&#xff09;操作如下&#xff08;二&#xff09;结果解读四、…

CTF工具PDF隐写神器wbStego4open安装和详细使用方法

wbStego4open安装和详细使用方法 1.wbStego4open介绍&#xff1a;2.wbStego4open下载&#xff1a;3.wbStego4open原理图&#xff1a;4.wbStego4open使用教程&#xff1a;第一步&#xff1a;第二步&#xff1a;第三步&#xff1a;第四步&#xff1a;第五步&#xff1a; 5.wbSteg…

电脑版WPS怎么将更新目录加到快速访问栏

效果 步骤 开启首页的“标签”、快速访问、在最近置顶展示然后选择好目录点击右边的设置 》 添加标签选中“快速访问”&#xff0c;确定并关闭完成 相关 WPS怎样设置快速访问工具栏 WPS怎样设置快速访问工具栏-百度经验WPS怎样设置快速访问工具栏,WPS怎样设置快速访问工具栏…

实现dialog在页面随意拖拽

实现dialog在页面随意拖拽 1.先建一个文件如图所示&#xff1a; 文件名:dialog-directive.js 文件内容&#xff1a; import Vue from vue // v-dialogDrag: 弹窗拖拽Vue.directive(dialogDrag, {bind(el, binding, vnode, oldVnode) {// 获取拖拽内容的头部const dialogHeade…

中国联通携手华为助力长城精工启动商用5G-A柔性产线

[中国&#xff0c;河北&#xff0c;2023年11月3日] 近日&#xff0c;中国联通携手华为助力精诚工科汽车系统有限公司保定自动化技术分公司&#xff08;简称长城精工自动化&#xff09;启动5G-A超高可靠性超低时延柔性产线的商用阶段。 在河北保定精工自动化工厂&#xff0c;5G…

java入门,java数据结构二叉树结构

一、前言 树结构是计算机各种存储和查询算法的基本结构。但是在学习这个数据结构的时候&#xff0c;很少人知道它有什么运用&#xff0c;因为在学的时候&#xff0c;也是纯数学的讲解。博主当时学的时候也是云里雾里&#xff0c;最经典的就是严蔚敏和吴伟民的那本《C语言数据结…

python自动化运维——模拟键盘鼠标重复性操作Pyautoui

一、程序样式展示 将程序与cmd.xls文件放在同一文件夹&#xff0c;每一步的截图也放在当前文件夹 通过图片在屏幕上面进行比对&#xff0c;找到点击处进行自动化操作 自动化rpa测试 二、核心点 1.Pyautoui模块&#xff1a;主要针对图片进行定位pyautogui.locateCenterOnScree…

重新理解数字化采购:一场企业内的数字化战役

在显性的采购商品成本之外&#xff0c;越来越多企业开始发现采购环节里高昂的供应链隐性成本&#xff0c;这些成本几乎分布在链条和经营的每个节点&#xff1a;供应商管理、物流履约&#xff0c;售前、售后以及最前端的系统对接搭建等等。 换言之&#xff0c;若想做好数字化采…

智能电表瞬时电量是什么意思?

智能电表已经成为我们进行能源管理的重要工具。其中&#xff0c;瞬时电量这一概念逐渐走进大众视野。那么&#xff0c;智能电表瞬时电量究竟是什么意思&#xff1f;它对我们的生活和能源管理又有哪些影响呢&#xff1f;下面&#xff0c;小编就来为大家介绍一下瞬时电量&#xf…

linux上重启mysql

1、先关闭 [rootHIS bin]# ./mysqladmin -h 127.0.0.1 -u root -p shutdown 2、 再重启 [rootHIS support-files]# ./mysql.server start