iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#泛型List排序的实现
  • 905
分享到

C#泛型List排序的实现

2024-04-02 19:04:59 905人浏览 独家记忆
摘要

本文主要介绍了C# 泛型List排序的实现,分享给大家,具体如下: 代码 using System; using System.Collections.Generic; using

本文主要介绍了C# 泛型List排序的实现,分享给大家,具体如下:

在这里插入图片描述

代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace L_List_sort
{
    public class Person:IComparable<Person>
    {
        // 属性
        public string name; 
        public int age;

        // 构造
        public Person(string name, int age)
        {
            this.name = name;
            this.age = age;
        }

        // 重写字符串
        public override string ToString()
        {
            return "name: " + this.name + "  age: " + this.age;
        }

        // 实现比较接口
        public int CompareTo(Person other)
        {
            // 根据返回值排序  升序
            if (this.age > other.age)
            {   // 大于0 放后面
                return 1;
            }
            else
            {   // 小于 0 放前面
                return -1;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("泛型数组的排序");

            #region 知识一 List自带排序方法
            Console.WriteLine("--------------------List自带排序方法");
            List<int> listInt = new List<int>();

            listInt.Add(4);
            listInt.Add(2);
            listInt.Add(3);
            listInt.Add(1);
            Console.WriteLine("-------排序前");
            PrintList<int>(listInt);
            Console.WriteLine("-------排序后");
            // 排序
            listInt.Sort();
            PrintList<int>(listInt);
            #endregion

            #region 知识二 自定义类的排序
            Console.WriteLine("--------------------自定义类的排序");
            List<Person> listPerson = new List<Person>();
            listPerson.Add(new Person("张三", 20));
            listPerson.Add(new Person("李四", 18));
            listPerson.Add(new Person("王五", 31));
            listPerson.Add(new Person("曹操", 45));
            Console.WriteLine("-------排序前");
            PrintList<Person>(listPerson);
            Console.WriteLine("-------排序后");

            // 继承排序(需要继承 接口 :IComparable<Person>)
            listPerson.Sort();

            PrintList<Person>(listPerson);

            #endregion

            #region 知识三 通过委托函数进行排序
            Console.WriteLine("--------------------通过委托函数进行排序");
            listPerson.Clear();
            listPerson.Add(new Person("张三", 20));
            listPerson.Add(new Person("李四", 18));
            listPerson.Add(new Person("王五", 31));
            listPerson.Add(new Person("曹操", 45));

            Console.WriteLine("-------排序前");
            PrintList<Person>(listPerson);

            // 使用委托==>函数排序
            listPerson.Sort(SortPerson);
            Console.WriteLine("-------排序后");
            PrintList<Person>(listPerson);

            // Lambda 再次排序
            listPerson.Sort((leftP, rightP) => {
                return leftP.age > rightP.age ? 1 : -1;
            });
           
            Console.WriteLine("-------Lambda 再次排序后");
            PrintList<Person>(listPerson);
            #endregion

            Console.ReadLine();
        }

        // 排序函数
        private static int SortPerson(Person leftP, Person rightP)
        {
            // 根据返回值排序  升序
            if (leftP.age > rightP.age)
            {   // 大于0 放后面
                return -1;
            }
            else
            {   // 小于 0 放前面
                return 1;
            }

        }


        // 打印列表中元素的内容
        private static void PrintList<T>(List<T> nList)
        {
            if (nList.Count == 0)
                Console.WriteLine("--列表为空数据");

            for (int i = 0; i < nList.Count; i++)
            {
                Console.WriteLine(nList[i].ToString());
            }
        }
    }
}

在这里插入图片描述

 到此这篇关于C# 泛型List排序的实现的文章就介绍到这了,更多相关C# 泛型List排序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#泛型List排序的实现

本文链接: https://www.lsjlt.com/news/152415.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#泛型List排序的实现
    本文主要介绍了C# 泛型List排序的实现,分享给大家,具体如下: 代码 using System; using System.Collections.Generic; using...
    99+
    2024-04-02
  • Java怎么用泛型实现数组排序
    这篇文章主要介绍“Java怎么用泛型实现数组排序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java怎么用泛型实现数组排序”文章能帮助大家解决问题。 整数数组的顺序收缩public st...
    99+
    2023-07-06
  • c#list怎么排序
    在 c# 中对 list 进行排序的方法包括:使用 sort() 方法,适用于已实现 icomparable 接口的类型,时间复杂度为 o(n log n)。使用 linq 语句的 or...
    99+
    2024-05-11
    c#
  • Java中怎么利用泛型实现数组排序
    这篇文章将为大家详细讲解有关Java中怎么利用泛型实现数组排序,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 整数数组的顺序收缩public static int&nbs...
    99+
    2023-06-17
  • C# 泛型实现的实例分析
    这期内容当中小编将会给大家带来有关C# 泛型实现的实例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C# 泛型实现在 .NET 2.0 中,C# 泛型在 IL(中间语言)和 CLR 本身中具有本机支持...
    99+
    2023-06-17
  • C#如何实现泛型类
    这篇文章主要为大家展示了“C#如何实现泛型类”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#如何实现泛型类”这篇文章吧。使用泛型集合有些人问我"面向对象编程(OOP)的承诺在哪里?&...
    99+
    2023-06-17
  • java 中List按照date排序的实现
    java 中List按照date排序的实现今天开发需要对一个list进行排序,要求对里面的date类型的属性进行排序,不多说,直接上代码。Leavecalendar这个bean类里面有属性date;private Date Date; //...
    99+
    2023-05-31
    java list date
  • C++实现支持泛型的LFU详解
    首先定义LFU存储数据节点ListNode的结构, 此结构支持键K和值V的模板,为了在有序元素中实现比较(严格小于),这里需要重载小于号,如果此数据的使用频次最少,则小于结果为tru...
    99+
    2024-04-02
  • Java中List排序的三种实现方法实例
    目录前言1.使用 Comparable 排序2.使用 Comparator 排序2.1 新建 Comparator 比较器2.2 匿名类比较器3.使用 Stream 流排序总结前言 ...
    99+
    2024-04-02
  • c# list的sort怎么按条件排序
    c# 中的 list 能够按条件进行排序,方法是使用 sort 方法和自定义比较器。该方法可用于按各种条件排序,包括字符串长度、数值、日期和枚举。实现此功能的步骤包括定义一个 icomp...
    99+
    2024-05-11
    c#
  • C#中怎么实现泛型处理
    C#中怎么实现泛型处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#泛型处理的问题陈述考虑一种普通的、提供传统 Push() 和 Pop() 方法的数据结构(例如,堆栈)。...
    99+
    2023-06-17
  • C++如何实现泛型装饰器
    小编给大家分享一下C++如何实现泛型装饰器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!c++ 装饰器简单写了个 c++ 装饰器,主要使用的是c++ lamda ...
    99+
    2023-06-25
  • java List 排序之冒泡排序实例代码
    java List 排序之冒泡排序实例代码List排序,这里介绍两种排序:Collections.sort()排序:假如List集合中放的是Menu对象。public class Menu{ private int id; private ...
    99+
    2023-05-31
    java list 冒泡排序
  • python dict的list排序
    对于简单的list排序,直接调用内建函数就可以了,但是对于dict的list排序就没有那么直接了,不过,还是有很简洁的办法的,如: >>> ls1 = [{'a' : 1, 'b' : 12}, {'a' : -1, '...
    99+
    2023-01-31
    python dict list
  • C#实现希尔排序
    对于大规模乱序的数组,插入排序很慢,因为它只会交换相邻的元素,因此元素只能一点一点地从数组地一段移动到另一端。希尔排序改进了插入排序,交换不相邻地元素以对数组地局部进行排序,最终用插...
    99+
    2024-04-02
  • C#实现归并排序
    什么是归并?即将两个有序的数组归并成一个更大的有序数组。 什么是归并排序?先将要排序的数组递归地分成两半分别排序,然后将结果归并起来。 归并排序能够保证将任意大小为 N 的数组排序所...
    99+
    2024-04-02
  • C++如何实现序列排序
    这篇文章主要讲解了“C++如何实现序列排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++如何实现序列排序”吧!Permutation Sequence 序列排序The set ...
    99+
    2023-06-19
  • C#中有哪些List排序方法
    今天就跟大家聊聊有关C#中有哪些List排序方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。ArrayList arrayList;最重要的是:继承IComparer<T&g...
    99+
    2023-06-17
  • C#SortedList排序列表的实现
    目录SortedList 类的中的属性SortedList 类的中的方法在 C# 中,SortedList 类用来表示键/值对的集合,这些键/值对按照键值进行排序,并且可以通过键或索...
    99+
    2023-05-14
    C# SortedList排序列表 C# 排序列表
  • C++实现LeetCode(60.序列排序)
    [LeetCode] 60. Permutation Sequence 序列排序 The set [1,2,3,...,n] contains a total o...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作