最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 泛型List排序的實現(xiàn)

 更新時間:2022年06月23日 14:52:30   作者:廷益--飛鳥  
本文主要介紹了C# 泛型List排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文主要介紹了C# 泛型List排序的實現(xiàn),分享給大家,具體如下:

在這里插入圖片描述

代碼

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;

        // 構(gòu)造
        public Person(string name, int age)
        {
            this.name = name;
            this.age = age;
        }

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

        // 實現(xiàn)比較接口
        public int CompareTo(Person other)
        {
            // 根據(jù)返回值排序  升序
            if (this.age > other.age)
            {   // 大于0 放后面
                return 1;
            }
            else
            {   // 小于 0 放前面
                return -1;
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("泛型數(shù)組的排序");

            #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 知識三 通過委托函數(shù)進行排序
            Console.WriteLine("--------------------通過委托函數(shù)進行排序");
            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);

            // 使用委托==>函數(shù)排序
            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();
        }

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

        }


        // 打印列表中元素的內(nèi)容
        private static void PrintList<T>(List<T> nList)
        {
            if (nList.Count == 0)
                Console.WriteLine("--列表為空數(shù)據(jù)");

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

在這里插入圖片描述

 到此這篇關(guān)于C# 泛型List排序的實現(xiàn)的文章就介紹到這了,更多相關(guān)C# 泛型List排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入解析C#編程中泛型委托的使用

    深入解析C#編程中泛型委托的使用

    這篇文章主要介紹了C#編程中泛型委托的使用,引用泛型委托的代碼可以指定類型參數(shù)以創(chuàng)建已關(guān)閉的構(gòu)造類型,需要的朋友可以參考下
    2016-02-02
  • C#程序中使用LINQ to XML來查詢XML格式數(shù)據(jù)的實例

    C#程序中使用LINQ to XML來查詢XML格式數(shù)據(jù)的實例

    這篇文章主要介紹了C#程序中使用LINQ to XML來查詢XML格式數(shù)據(jù)的實例,LINQ to XML是.NET框架中集成的接口,可以將XML數(shù)據(jù)放到內(nèi)存中進行處理,需要的朋友可以參考下
    2016-03-03
  • WCF入門教程之Windows通訊接口

    WCF入門教程之Windows通訊接口

    這篇文章介紹了WCF入門教程之Windows通訊接口,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#隊列Queue用法實例分析

    C#隊列Queue用法實例分析

    這篇文章主要介紹了C#隊列Queue用法,實例分析了隊列的功能、定義及相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • 深入Resource實現(xiàn)多語言支持的應(yīng)用詳解

    深入Resource實現(xiàn)多語言支持的應(yīng)用詳解

    本篇文章是對Resource實現(xiàn)多語言支持的應(yīng)用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#反射在實際應(yīng)用中的實例代碼

    C#反射在實際應(yīng)用中的實例代碼

    C#反射在實際應(yīng)用中的實例代碼,需要的朋友可以參考一下
    2013-03-03
  • C#程序中類數(shù)量對程序啟動的影響詳解

    C#程序中類數(shù)量對程序啟動的影響詳解

    這篇文章主要給大家介紹了關(guān)于C#程序中類數(shù)量對程序啟動的影響的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • C#異步調(diào)用實例小結(jié)

    C#異步調(diào)用實例小結(jié)

    這篇文章主要介紹了C#異步調(diào)用的方法,實例分析了C#同步調(diào)用及異步調(diào)用的常用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • WPF實現(xiàn)手風(fēng)琴式輪播圖切換效果

    WPF實現(xiàn)手風(fēng)琴式輪播圖切換效果

    這篇文章主要為大家詳細介紹了WPF實現(xiàn)手風(fēng)琴式輪播圖切換效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • C#區(qū)分中英文按照指定長度截取字符串的方法

    C#區(qū)分中英文按照指定長度截取字符串的方法

    這篇文章主要介紹了C#區(qū)分中英文按照指定長度截取字符串的方法,涉及C#操作字符串的正則匹配與截取等常用操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03

最新評論

涞水县| 东山县| 龙川县| 泗阳县| 威宁| 财经| 栾川县| 兖州市| 永胜县| 芷江| 扶风县| 淄博市| 麻栗坡县| 晋州市| 和平区| 思南县| 新乡市| 陈巴尔虎旗| 永登县| 枞阳县| 扶风县| 固阳县| 共和县| 锡林浩特市| 连云港市| 共和县| 沛县| 万山特区| 富顺县| 葵青区| 灌云县| 沾益县| 九台市| 全椒县| 万载县| 石柱| 石景山区| 双江| 子洲县| 天柱县| 潢川县|