C# 程式將字串集合拆分為組


歡迎閱讀本篇關於建立 C# 程式的全面教程,該程式使用語言整合查詢 (LINQ) 將字串集合拆分為組。無論您是新手還是中級程式設計師,本指南都將為您提供必要的見解,以瞭解 C# 中 LINQ 的強大功能及其在資料處理中的應用。

瞭解 LINQ 中分組的概念

分組是資料處理中一個強大的概念。它涉及根據指定條件將資料組織成類別。在處理大型資料集時,分組至關重要,因為它有助於簡化資料分析和提取有意義的見解。

在 LINQ 中,GroupBy 方法用於根據鍵選擇器函式對集合中的元素進行分組。結果是一個組的集合,其中每個組都是共享一個公共鍵的元素的集合。

C# 程式:將字串集合拆分為組

讓我們深入瞭解程式碼。我們將使用一個簡單的字串集合,並根據每個字串的第一個字母將其拆分為組。

示例

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

public class Program {
   public static void Main() {
      // Collection of strings
      List<string> words = new List<string>() {
         "Apple",
         "Banana",
         "Cherry",
         "Date",
         "Elderberry",
         "Fig",
         "Grape",
         "Honeydew",
         "Iced",
         "Jackfruit",
         "Kiwi",
         "Lemon",
         "Mango",
         "Nectarine",
         "Orange",
         "Pineapple",
         "Quince",
         "Raspberry",
         "Strawberry",
         "Tomato",
         "Ugli",
         "Vanilla",
         "Watermelon",
         "Xigua",
         "Yam",
         "Zucchini"
      };
   
      // Use LINQ to group words by their first letter
      var groupedWords = words.GroupBy(word => word[0]);

      // Print out grouped words
      foreach (var group in groupedWords) {
         Console.WriteLine($"Group: {group.Key}");
         foreach (var word in group) {
            Console.WriteLine($"  {word}");
         }
      }
   }
}

輸出

在此程式碼中,我們首先宣告一個字串項列表。然後,我們使用帶有 GroupBy 函式的 LINQ 查詢,根據每個字串的第一個字母對這些字串進行分類。最後,我們打印出每個組及其中的單詞。

Group: A
Apple
Group: B
  Banana
Group: C
  Cherry
Group: D
  Date
Group: E
  Elderberry
Group: F
  Fig
Group: G
  Grape
Group: H
  Honeydew
Group: I
  Iced
Group: J
  Jackfruit
Group: K
  Kiwi
Group: L
Lemon
Group: M
  Mango
Group: N
  Nectarine
Group: O
  Orange
Group: P
  Pineapple
Group: Q
  Quince
Group: R
  Raspberry
Group: S
  Strawberry
Group: T
  Tomato
Group: U
  Ugli
Group: V
  Vanilla
Group: W
  Watermelon
Group: X
  Xigua
Group: Y
  Yam
Group: Z
  Zucchini

探索 LINQ 中更多分組功能

LINQ 提供了更多高階的分組功能,可以幫助您以更復雜的方式對資料進行分類。例如,您可以使用多個鍵進行分組,對分組應用條件,甚至對每個組執行計算。

考慮以下示例,我們根據單詞的長度對單詞進行分組 -

var groupedWords = words.GroupBy(word => word.Length);

在這裡,我們不是根據第一個字母對單詞進行分組,而是根據它們的長度進行分組。這展示了 LINQ 在資料處理方面提供的靈活性。

LINQ 在資料處理中的強大功能

當您必須執行復雜的資料處理時,LINQ 的強大功能就會顯現出來。使用傳統方法,您可能會發現自己編寫了大量且複雜的程式碼。但是,使用 LINQ,您可以使用更少的程式碼行實現相同的結果,這些程式碼也更易於閱讀和維護。

LINQ 的關鍵特性之一是它能夠處理不同型別的資料來源。無論您是在處理記憶體集合、XML 檔案還是資料庫,您都可以使用相同的 LINQ 語法來執行資料處理任務。這使得 LINQ 成為任何 C# 程式設計師工具箱中的一個多功能工具。

結論

在本教程中,我們探討了如何建立一個 C# 程式,該程式使用 LINQ 將字串集合拆分為組。我們瞭解了 GroupBy 方法以及如何使用它根據特定條件對資料進行分類。我們還簡要介紹了 LINQ 提供的一些高階分組功能。

更新於: 2023-07-24

292 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告