欧美性猛交xxx嘿人猛交_又色又爽又高潮免费观看_精品国产一区二区三区久久影院_青娱乐极品视觉盛宴国产视频

技術頻道導航
HTML/CSS
.NET技術
IIS技術
PHP技術
Js/JQuery
Photoshop
Fireworks
服務器技術
操作系統
網站運營

贊助商

分類目錄

贊助商

最新文章

搜索

C# List Sort 數值升序、降序、按數字的第一位排序

作者:admin    時間:2021-5-18 14:38:34    瀏覽:

對C# List集合進行排序,需要用到Sort()方法,默認情況下,Sort()是按升序排序,而有時我們要按降序排列時,寫法便有所不同了,甚至有時候要求按數字的第一位排序,寫法又會不一樣。

 C# List Sort 數值排序
C# List Sort 數值排序

List按升序排序

C#有個函數Sort(),默認是按升序排序,可直接應用于對List集合的排序。

示例

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int>() { 20, 10, 3, 40 };
        numbers.Sort();

        Console.WriteLine(":::按升序排序:::");
        foreach (var result in numbers)
        {
            Console.WriteLine(result);
        }
    }
}
 

輸出結果

:::按升序排序:::
3
10
20
40

List按降序排序

要讓Sort()按降序排序,要用到CompareTo()比較函數。

C#中的List的Sort函數中的比較函數CompareTo有三種結果 1, -1 ,0分別代表大,小,相等。默認List的排序是升序排序。

在比較函數CompareTo()中,如果 x>y return 1;則是按照升序排列。如果x>y return -1;則是按照降序排列。這就是1和-1大小的含義。其實你非要這么寫 x<y return 1;則也表示降序排列。不過大家一般習慣x>y return 1;升序,如果想要降序只需return -1;即可。

系統List默認的排序是升序,如果你想要降序,可以直接在比較函數前面加個負號,把返回結果由1變成-1即可。

示例

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int>() { 20, 10, 3, 40 };
        numbers.Sort((x, y) => -x.CompareTo(y));

        Console.WriteLine(":::按降序排序:::");
        foreach (var result in numbers)
        {
            Console.WriteLine(result);
        }
    }
}
 

輸出結果

:::按降序排序:::
40
20
10
3
 

List按數字的第一位排序

有時候,需要按數字的第一位排序時,又該怎樣寫這個代碼呢?

其實,我們只需把集合的元素第一位先轉化為字符,再進行排序,即可。

示例

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int>() { 20, 10, 3, 40 };
        numbers.Sort((a, b) => (a.ToString()[0].CompareTo(b.ToString()[0])));

        Console.WriteLine(":::按數字的第一位排序:::");
        foreach (var result in numbers)
        {
            Console.WriteLine(result);
        }
    }
}
 

輸出結果

:::按數字的第一位排序:::
10
20
3
40

標簽: List方法  Sort排序  
x