[C#]LINQ 排序

[C#]LINQ 排序

排序 主要透過 orderby子句 以及 關鍵字descending 組合而成

orderby子句 預設是由小到大排序 以下兩句是同樣的效果,所以通常會省略ascending

orderby numbers

orderby numbers ascending //由小到大排序 ascending可省略

要改成由大到小排序 就要使用關鍵字 descending

而Reverse 這個方法的功能 則是反轉排序方向

 

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

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string showMSG = "";
            //1.取得資料來源
            int[] intnumbers = { 1, 2, 3, 4, 5, 6, 8, 9, 12, 7 };
            //2.建立查詢
            IEnumerable<int> enumNumber =
                from numbers in intnumbers
                where numbers > 5
                //orderby numbers ascending //由小到大排序 ascending可省略
                orderby numbers descending //descending 由大到小排序
                select numbers;
            //3.執行查詢
            foreach (int number in enumNumber)
            {
                showMSG += number + ",";
            }
            Console.WriteLine(showMSG.TrimEnd(','));
           enumNumber= enumNumber.Reverse();//反轉 排序方向
            showMSG = "";
            foreach (int number in enumNumber)
            {
                showMSG += number + ",";
            }
            Console.WriteLine(showMSG.TrimEnd(','));
            Console.Read();
        }
    }
}

如有錯誤 歡迎指正