利用LINQ將List依指定項目數量切割為多筆

利用LINQ將List依指定項目數量切割為多筆

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. class Program
  5. {
  6. static void Main()
  7. {
  8. // 假設這是原始的 List<string>
  9. List<string> originalList = Enumerable.Range(1, 35).Select(i => $"Item{i}").ToList();
  10. // 使用 LINQ 分割成多個組
  11. List<List<string>> groups = originalList
  12. .Select((item, index) => new { item, index })
  13. .GroupBy(x => x.index / 10)
  14. .Select(g => g.Select(x => x.item).ToList())
  15. .ToList();
  16. // 輸出結果
  17. for (int i = 0; i < groups.Count; i++)
  18. {
  19. Console.WriteLine($"Group {i + 1}:");
  20. foreach (var item in groups[i])
  21. {
  22. Console.WriteLine(item);
  23. }
  24. Console.WriteLine();
  25. }
  26. }
  27. }

程式碼說明:

  1. 建立原始的 List<string>

    • 使用 Enumerable.Range(1, 35) 生成一個從 1 到 35 的整數序列,並使用 Select 方法將其轉換為 List<string>
  2. 分組邏輯

    • Select((item, index) => new { item, index }):這個 LINQ 查詢將每個元素與其索引進行配對。
    • GroupBy(x => x.index / 10):使用索引除以 10 來確定每個元素應屬於哪一組(0, 1, 2, 或 3)。
    • Select(g => g.Select(x => x.item).ToList()):將每個分組轉換回 List<string>
  3. 輸出結果

    • 使用 for 迴圈將每一組的內容輸出到控制台。

留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 工作排程 DBMS_JOB 筆記

Oracle 例外控制(Exception Control)