除了基礎運算子(如 Where、Select 和 OrderBy),LINQ 還提供了許多進階運算子,用於解決更複雜的查詢需求。以下是一些使用頻率較高的進階運算子,以及它們的功能與應用場景。
Projection Operators 投影
Select
範例:投影字串清單中每個字串的第一個字母。
1 | List<string> words = ["an", "apple", "a", "day"]; |
SelectMany
SelectMany 將一個集合中的子集合展平(Flatten),生成單一層級的結果序列。它非常適合處理嵌套集合。
適用場景:需要從多個子集合中提取元素,並將它們組合為單一集合。
1 | List<string> phrases = ["an apple a day", "the quick brown fox"]; |
1 | List<string> phrases = ["an apple a day", "the quick brown fox"]; |
在提供一個,處理多對多關係數據(如學生和他們的選修課程)。
範例:攤平學生的課程清單
1 |
|
輸出結果
1 |
|