示例 1:多層集合展平
假設你有一個列表,每個元素都是一個字串陣列,你想將所有的字串展平成一個單一的字串列表。
示例 2:巢狀迴圈
假設你有一個使用者列表,每個使用者有一個訂單列表,你想獲取所有使用者的訂單列表。
示例 3:多對多關係
假設你有一個學生列表,每個學生選修了多門課程,你想獲取所有學生選修的所有課程。
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { // 學生類 class Student { public string Name { get; set; } public List<string> Courses { get; set; } } // 學生列表 List<Student> students = new List<Student> { new Student { Name = "Alice", Courses = new List<string> { "Math", "Physics" } }, new Student { Name = "Bob", Courses = new List<string> { "Chemistry", "Biology" } }, new Student { Name = "Charlie", Courses = new List<string> { "History", "Geography" } } }; // 使用 SelectMany 獲取所有學生選修的所有課程 List<string> allCourses = students.SelectMany(student => student.Courses).ToList(); // 輸出所有課程 foreach (string course in allCourses) { Console.WriteLine(course); } } }