国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C#基礎(chǔ):利用LINQ進(jìn)行復(fù)雜排序

這篇具有很好參考價(jià)值的文章主要介紹了C#基礎(chǔ):利用LINQ進(jìn)行復(fù)雜排序。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、場景

請你寫出linq對表格排序,CODE=3排前面,其余按照CODE降序排序,CODE一樣再按照字母升序排序

ID CODE VALUE
A0001 1 A
A0002 1 B
A0003 1 C
A0004 2 D
A0005 2 E
A0006 2 F
A0007 3 G
A0008 3 H
A0009 3 I
A0010 4 J

二、代碼

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

class SortingDemo
{
    static void Main()
    {
        // 創(chuàng)建數(shù)據(jù)源
        var data = new[]
        {
            new { ID = "A0001", CODE = 1, VALUE = "A" },
            new { ID = "A0002", CODE = 1, VALUE = "B" },
            new { ID = "A0003", CODE = 1, VALUE = "C" },
            new { ID = "A0004", CODE = 2, VALUE = "D" },
            new { ID = "A0005", CODE = 2, VALUE = "E" },
            new { ID = "A0006", CODE = 2, VALUE = "F" },
            new { ID = "A0007", CODE = 3, VALUE = "G" },
            new { ID = "A0008", CODE = 3, VALUE = "H" },
            new { ID = "A0009", CODE = 3, VALUE = "I" },
            new { ID = "A0010", CODE = 4, VALUE = "J" }
        };

        // 使用LINQ進(jìn)行排序
        var sortedData = data
                            .OrderByDescending(item => item.CODE == 3)
                            .ThenByDescending(item => item.CODE)
                            .ThenBy(item => item.VALUE)
                            .ToList();
        // 輸出排序結(jié)果
        foreach (var item in sortedData)
        {
            Console.WriteLine($"ID: {item.ID}, CODE: {item.CODE}, VALUE: {item.VALUE}");
        }
    }
}

三、結(jié)果

ID: A0007, CODE: 3, VALUE: G
ID: A0008, CODE: 3, VALUE: H
ID: A0009, CODE: 3, VALUE: I
ID: A0010, CODE: 4, VALUE: J
ID: A0004, CODE: 2, VALUE: D
ID: A0005, CODE: 2, VALUE: E
ID: A0006, CODE: 2, VALUE: F
ID: A0001, CODE: 1, VALUE: A
ID: A0002, CODE: 1, VALUE: B
ID: A0003, CODE: 1, VALUE: C

四、思考

若再加大難度,ID=A0005的排第一,然后CODE=3排前面,其余按照CODE降序排序,再按照字母升序排序,如何寫呢?文章來源地址http://www.zghlxwxcb.cn/news/detail-801759.html

var sortedData = data.OrderByDescending(item=>item.ID=="A0005")
                    .ThenByDescending(item => item.CODE == 3)
                    .ThenByDescending(item => item.CODE)
                    .ThenBy(item => item.VALUE)
                    .ToList();

到了這里,關(guān)于C#基礎(chǔ):利用LINQ進(jìn)行復(fù)雜排序的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C# Linq 學(xué)會使用,學(xué)會自己編寫Linq

    C# Linq 學(xué)會使用,學(xué)會自己編寫Linq

    Linq我暫時(shí)理解為,一種內(nèi)置的非常方便的數(shù)據(jù)查詢的工具 我們先學(xué)習(xí)它的使用 //數(shù)據(jù)類 //新建了一個List數(shù)據(jù),用來測試數(shù)據(jù)查詢? //現(xiàn)在定義一個需求,需要查出 id2 的數(shù)據(jù) 引用Linq的命名空間 ?引用命名空間之后,我們的list對象,擁有了一個擴(kuò)展方法,Where (擴(kuò)展方法,在之前的博客

    2024年02月06日
    瀏覽(28)
  • C# LINQ,SQL

    C#中的LINQ和SQL都是用于查詢數(shù)據(jù)的工具,但它們有以下異同點(diǎn): 異同點(diǎn): 1. LINQ和SQL都可以用于查詢數(shù)據(jù),但LINQ是在C#中使用的語言集成查詢,而SQL是一種獨(dú)立的查詢語言。 2. LINQ和SQL都支持基本的查詢操作,如選擇、過濾、排序和分組。 3. LINQ和SQL都支持連接多個表,但LI

    2024年02月10日
    瀏覽(18)
  • C# Linq 詳解一

    C# Linq 詳解一

    目錄 一、概述 二、Where 三、Select 四、GroupBy 五、First / FirstOrDefault 六、Last / LastOrDefault C# Linq 文檔(一) 1.Where,2.Select,3.GroupBy,4.First / FirstOrDefault,5.Last / LastOrDefault C# Linq 文檔(二) 1.OrderBy,?2.OrderByDescending,3.Skip,4.Take,5.Any,6.All C# Linq 文檔(三) 1.Sum / Min / Max / Av

    2024年02月16日
    瀏覽(25)
  • C# Linq 詳解四

    C# Linq 詳解四

    目錄 概述 二十、SelectMany 二十一、Aggregate 二十二、DistinctBy 二十三、Reverse 二十四、SequenceEqual 二十五、Zip 二十六、SkipWhile? 二十七、TakeWhile C# Linq 文檔(一) 1.Where,2.Select,3.GroupBy,4.First / FirstOrDefault,5.Last / LastOrDefault C# Linq 文檔(二) 1.OrderBy ,2.OrderByDescending,3.Skip,

    2024年02月16日
    瀏覽(18)
  • C# Lambda,LINQ

    Lambda表達(dá)式和LINQ語句都是C#中用于查詢和篩選數(shù)據(jù)的工具,但它們有一些異同點(diǎn)。 異同點(diǎn): 1. 語法不同: Lambda表達(dá)式是一種匿名函數(shù) ,它可以用于創(chuàng)建委托或表達(dá)式樹。而LINQ語句是一種查詢語句,它使用特定的和語法來查詢數(shù)據(jù)。 2. 功能不同: Lambda表達(dá)式可以用于

    2024年02月09日
    瀏覽(26)
  • C# Linq 詳解三

    C# Linq 詳解三

    目錄 概述 十三、Sum / Min / Max / Average 十四、Distinct 十五、Concat 十六、Join 十七、ToList? 十八、ToArray 十九、ToDictionary C# Linq 文檔(一) 1.Where,2.Select,3.GroupBy,4.First / FirstOrDefault,5.Last / LastOrDefault C# Linq 文檔(二) 1.OrderBy ,2.OrderByDescending,3.Skip,4.Take,5.Any,6.All C# Linq 文

    2024年02月16日
    瀏覽(17)
  • C#中的LINQ

    一:什么是LINQ LINQ代表語言集成查詢,是.net框架的擴(kuò)展,它允許我們用SQL查詢數(shù)據(jù)庫的方式來查詢數(shù)據(jù)的集合 二:LINQ延遲查詢的特性 延遲查詢是指查詢操作并不是在定義的時(shí)候執(zhí)行,而是在遍歷集合中的數(shù)據(jù)時(shí)才執(zhí)行 因?yàn)樽鳛閥ield迭代器的主體,只有使用foreach遍歷執(zhí)行到

    2023年04月09日
    瀏覽(21)
  • C# Linq 詳解二

    C# Linq 詳解二

    目錄 概述 七、OrderBy? 八、OrderByDescending 九、Skip 十、Take 十一、Any 十二、All C# Linq 文檔(一) 1.Where,2.Select,3.GroupBy,4.First / FirstOrDefault,5.Last / LastOrDefault C# Linq 文檔(二) 1.OrderBy ,2.OrderByDescending,3.Skip,4.Take,5.Any,6.All C# Linq 文檔(三) 1.Sum / Min / Max / Average,2.Dist

    2024年02月16日
    瀏覽(19)
  • C#中LINQ的使用知多少?LINQ常功能整理,實(shí)例源代碼解析

    C#中LINQ的使用知多少?LINQ常功能整理,實(shí)例源代碼解析

    ? LINQ(Language-Integrated Query)是C#語言中的一個強(qiáng)大的查詢技術(shù),它提供了一種統(tǒng)一的查詢語法,可以用于查詢和操作各種數(shù)據(jù)源,包括集合、數(shù)據(jù)庫、XML等。下面詳細(xì)描述了LINQ的20個功能點(diǎn),并提供了相應(yīng)的源代碼。 查詢集合中的所有元素: 使用條件過濾集合中的元素:

    2024年02月05日
    瀏覽(24)
  • C#高級編程 Linq介紹

    本文對C#高級編程部分的Linq查詢進(jìn)行介紹 目錄 一、Linq起源 二 LINQ 操作組成 2.1數(shù)據(jù)源 2.2查詢 3.3查詢執(zhí)行

    2024年02月11日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包