欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

LINQ 介紹

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

.NET 9 環(huá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這個方法允許開發(fā)者按鍵來聚合集合中的元素,并計算每個鍵的出現(xiàn)次數(shù)。這使得計算某個數(shù)據(jù)集中特定元素的頻率變得非常簡單。

        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)計每個單詞出現(xiàn)的次數(shù)
            KeyValuePair<string, int> mostFrequentWord = sourceText
            .Split([' ', '.', ','], StringSplitOptions.RemoveEmptyEntries)
            .Select(word => word.ToLowerInvariant())
            .CountBy(word => word)
            .MaxBy(pair => pair.Value);
            Console.WriteLine($"最常見的詞是:'{mostFrequentWord.Key}' 出現(xiàn)次數(shù): {mostFrequentWord.Value}");
        }

輸出結(jié)果:

AggregateBy方法

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

        public static void AggregateByExample()
        {
            (string id, int score)[] data =
                [
                ("0", 88),
                ("1", 5),
                ("2", 4),
                ("1", 10),
                ("6", 5),
                ("4", 10),
                ("6", 25)];
            // aggregatedData 是一個序列,包含按姓名分組并計算總分的元素
            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àn)在,可以編寫代碼(如以下代碼片段)來自動為集合中的項編制索引。

        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

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

相關文章

最新評論