C# list<T>去重

这篇具有很好参考价值的文章主要介绍了C# list<T>去重。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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();

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

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();

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

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();

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

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();

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

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();

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

List

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

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

List

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

C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记

引用类型去重

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();

集合里有三条记录,其中两条重复。
C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记
使用Distinct后,还有三条,说明distinct失败
C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记
原因是,引用类型即使属性一样,引用地址是不一样的。
只能用别的方式去避免。
C# list<T>去重,C#,工作笔记,C#基础,c#,list,经验分享,笔记文章来源地址https://www.toymoban.com/news/detail-743915.html

到了这里,关于C# list<T>去重的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 三本光电从颓废到武汉年薪30w的本科经历经验与浅谈(毕业工作一年的嵌入式软件工程师经验分享)

    三本光电从颓废到武汉年薪30w的本科经历经验与浅谈(毕业工作一年的嵌入式软件工程师经验分享) 我目前工作岗位为嵌入式软件工程师(雷达射频方向)。 我选择了武汉的一家做雷达的小企业,算上项目奖,年薪能拿到30。 我之前被坑的经历可以看我上一次发的文章。 我

    2024年02月04日
    浏览(44)
  • [职场] 求职如何设置预期 #笔记#经验分享

    求职如何设置预期 在求职的道路上,无论处于哪个年龄阶段,合理的就业期望值才能使我们的愿望与社会的需求相吻合,才能让自己在今后的工作中发挥出最大的实力与能力。 一、结合测评软件,明确求职目标 根据霍兰德职业兴趣测试结果,偏向于什么型人格,最好就寻求

    2024年02月21日
    浏览(34)
  • [经验] 做完腺样体手术打呼噜很严重怎么办 #媒体#笔记#经验分享

    做完腺样体手术打呼噜很严重怎么办 1、打呼噜很严重怎么办 打呼噜是一种常见的睡眠障碍,不仅让睡眠质量变得很糟糕,也会影响室友或家人的睡眠质量。幸运的是,有许多方法可以减少打呼噜的发生率,从而让睡眠变得更好。 保持良好的睡眠姿势非常重要。睡觉时,枕头

    2024年02月20日
    浏览(39)
  • 蓝桥杯单片机零基础到国二经验分享

             我参加的是第十三届蓝桥杯大赛,从最开始的零基础,毫无头绪,到拿下国二,颇有体会,在这里将我的备赛经验分享给大家,希望可以帮到一些正在备赛的蓝桥杯er 目录 一. 蓝桥杯-单片机组介绍 二 . 零基础到国二历程         客观题:         程序题:

    2024年02月03日
    浏览(31)
  • 顶会论文投稿经验分享-笔记【CVPR 2023预讲会】

    视频链接:Panel: 顶会论文投稿经验分享与大模型时代下的科研_哔哩哔哩_bilibili 嘉宾: 王琦,上海交通大学计算机系博士生 任星宇,上海交通大学博士三年级研究生 李逸轩,上海交通大学2022级硕士研究生 官同坤,上海交通大学2023级博士生 李逸轩:不管是对比实验、主图、

    2023年04月23日
    浏览(45)
  • 零基础小白怎么准备蓝桥杯-蓝桥杯竞赛经验分享

    博主在蓝桥杯中获得过十四届Java B 组的省一国二,本文为大家介绍一下蓝桥杯并分享一下自己的参赛经验。 ​ 蓝桥杯全称《蓝桥杯全国软件和信息技术专业人才大赛》,是由国信蓝桥和工信部举办的全国性IT学科赛事。全国1200余所高校参赛,累计参赛人数超过40万人。蓝桥

    2024年02月04日
    浏览(30)
  • [word] word如何设置每行字符数 #笔记#经验分享#媒体

    word如何设置每行字符数 如何设置每行字符数? 设置WORD设定每行中的字符数和每页中的行数的具体步骤如下: 我们需要准备的材料分别是:电脑、word文档。 1、首先我们打开需要编辑的word文档,点击打开“页面布局”。 2、然后我们在弹出来的子菜单栏中点击打开页面设置

    2024年02月22日
    浏览(32)
  • 零基础成为网络工程师经验分享,附完整学习路线

    总有粉丝问我:零基础怎么成为网络工程师?最近正好在整理一份学习路线,趁着这个契机来分享一下经验。 相比IT类的其它岗位,网络工程师的学习方向是比较明亮的。想要成为网络工程师,华为认证就是最好的学习方法。而网络工程师的从零开始学习就是从华为认证的初

    2024年02月02日
    浏览(45)
  • 【C# 基础精讲】List 集合的使用

    在C#中, ListT 是一种非常常用的泛型集合类,用于存储一组相同类型的元素。 ListT 具有动态调整大小的能力,可以方便地添加、删除、查找和修改元素,非常灵活和高效。本文将详细介绍 ListT 集合的使用方法,包括创建 ListT 对象、添加元素、删除元素、查找元素、遍历集合

    2024年02月06日
    浏览(23)
  • 西安邮电大学计算机学院考研专业课832(计算机基础综合)经验分享

    先贴成绩: 目录及大纲:  西安邮电大学2023年硕士研究生招生专业目录-西安邮电大学研究生院 (xupt.edu.cn) 对应专业:081200计算机科学与技术,083500软件工程 试卷结构:总分150,微机原理75+数据结构75 关于变更2023年硕士研究生招生考试部分学科初试自命题科目的公告-西安邮

    2023年04月19日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包