亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

.NET 9 中 LINQ 新增功能實(shí)現(xiàn)過(guò)程

 更新時(shí)間:2024年11月22日 15:01:45   作者:追逐時(shí)光者  
文章介紹了.NET 9中LINQ新增功能,包括CountBy、AggregateBy和Index方法,并提供了相關(guān)代碼示例和輸出結(jié)果,感興趣的朋友跟隨小編一起看看吧

LINQ 介紹

語(yǔ)言集成查詢 (LINQ) 是一系列直接將查詢功能集成到 C# 語(yǔ)言的技術(shù)統(tǒng)稱。 數(shù)據(jù)查詢歷來(lái)都表示為簡(jiǎn)單的字符串,沒(méi)有編譯時(shí)類型檢查或 IntelliSense 支持。 此外,需要針對(duì)每種類型的數(shù)據(jù)源了解不同的查詢語(yǔ)言:SQL 數(shù)據(jù)庫(kù)、XML 文檔、各種 Web 服務(wù)等。 借助 LINQ,查詢成為了最高級(jí)的語(yǔ)言構(gòu)造,就像類、方法和事件一樣。

.NET 9 環(huán)境準(zhǔn)備

需要體驗(yàn) .NET 9 中 LINQ 的新增功能前提是需要安裝 .NET 9 環(huán)境,安裝 .NET 9 SDK 并且Visual Studio 2022需要更新至17.12版本。

  • 下載.NET 9.0:https://dotnet.microsoft.com/zh-cn/download/dotnet/9.0

CountBy方法

CountBy這個(gè)方法允許開(kāi)發(fā)者按鍵來(lái)聚合集合中的元素,并計(jì)算每個(gè)鍵的出現(xiàn)次數(shù)。這使得計(jì)算某個(gè)數(shù)據(jù)集中特定元素的頻率變得非常簡(jiǎn)單。

        public static void CountByExample()
        {
            var sourceText = "This is a test text. This is only a test. This is the best. This,This,This";
            // 統(tǒng)計(jì)每個(gè)單詞出現(xiàn)的次數(shù)
            KeyValuePair<string, int> mostFrequentWord = sourceText
            .Split([' ', '.', ','], StringSplitOptions.RemoveEmptyEntries)
            .Select(word => word.ToLowerInvariant())
            .CountBy(word => word)
            .MaxBy(pair => pair.Value);
            Console.WriteLine($"最常見(jiàn)的詞是:'{mostFrequentWord.Key}' 出現(xiàn)次數(shù): {mostFrequentWord.Value}");
        }

輸出結(jié)果:

AggregateBy方法

AggregateBy這個(gè)方法提供了更強(qiáng)大的聚合功能,開(kāi)發(fā)者可以定義一個(gè)聚合邏輯(如求和、平均值等),并按鍵進(jìn)行聚合。該方法在需要基于鍵對(duì)集合中的元素進(jìn)行復(fù)雜計(jì)算時(shí)非常有用。

        public static void AggregateByExample()
        {
            (string id, int score)[] data =
                [
                ("0", 88),
                ("1", 5),
                ("2", 4),
                ("1", 10),
                ("6", 5),
                ("4", 10),
                ("6", 25)];
            // aggregatedData 是一個(gè)序列,包含按姓名分組并計(jì)算總分的元素
            var aggregatedData =
                data.AggregateBy(
                    keySelector: entry => entry.id,
                    seed: 0,
                    (totalScore, curr) => totalScore + curr.score
                    );
            foreach (var item in aggregatedData)
            {
                Console.WriteLine(item);
            }
        }

輸出結(jié)果:

Index<TSource>(IEnumerable<TSource>) 方法

借助 Index<TSource>(IEnumerable<TSource>),可以快速提取可枚舉項(xiàng)的隱式索引。 現(xiàn)在,可以編寫代碼(如以下代碼片段)來(lái)自動(dòng)為集合中的項(xiàng)編制索引。

        public static void IndexExample()
        {
            var lines = new List<string> { "First line", "Second line", "Third line" };
            foreach (var (index, line) in lines.Index())
            {
                Console.WriteLine($"Line {index + 1}: {line}");
            }
        }

輸出結(jié)果:

參考文章

https://learn.microsoft.com/zh-cn/dotnet/core/whats-new/dotnet-9/overview#linq

到此這篇關(guān)于.NET 9 中 LINQ 新增功能實(shí)操的文章就介紹到這了,更多相關(guān).NET 9 LINQ內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論