符號 描述 範例程式碼 說明
from 定義查詢的資料來源 csharp<br>var query = from o in foodList<br>where o.price >= 15<br>orderby o.name descending<br>select o;<br> 定義要從集合中查詢的資料來源,o 為迭代變數。
where 過濾符合條件的資料 csharp<br>where o.price >= 15<br> 過濾符合條件的元素,這裡用來篩選價格大於等於 15 的項目。
orderby 按指定欄位進行排序 csharp<br>orderby o.name descending<br> 按指定欄位排序,descending 表示降序排列。
select 選取查詢結果 csharp<br>select o;<br> 指定要返回的結果,這裡選擇滿足條件的 Food 物件。
ToList() 將結果轉換為列表 csharp<br>var list = query.ToList();<br> 將 LINQ 查詢結果轉換為 List<T>,便於後續操作。
DataSource 將查詢結果顯示在 UI 控件上 csharp<br>dataGridView1.DataSource = query.ToList();<br> 將查詢結果綁定到 UI 控件,如 DataGridView
IEnumerable<T> 支援簡單迭代集合的泛型介面 csharp<br>IEnumerable<int> numbers = new List<int> { 1, 2, 3 };<br>foreach (var num in numbers)<br>{<br>Console.WriteLine(num);<br>}<br> IEnumerable<T> 允許對集合進行遍歷,但無法修改或隨機存取集合。
GetEnumerator() 用於返回一個迭代器以遍歷集合 csharp<br>var enumerator = numbers.GetEnumerator();<br> 取得集合的迭代器,可以逐一訪問集合中的元素。
yield return 延遲計算並逐步返回值 csharp<br>IEnumerable<int> GetNumbers()<br>{<br> for (int i = 0; i < 5; i++)<br> yield return i;<br>}<br> 允許逐步生成數據,延遲查詢,直到遍歷時才執行。
First() 返回集合中的第一個元素 csharp<br>var firstFood = foodList.First();<br> 返回集合中的第一個元素;如果集合為空,將引發例外。
FirstOrDefault() 返回集合中的第一個元素或預設值 csharp<br>var firstFood = foodList.FirstOrDefault(o => o.price > 10);<br> 如果集合中存在滿足條件的元素,返回第一個;否則返回預設值 (通常是 null)。
Single() 找出集合中的唯一元素 csharp<br>var uniqueFood = foodList.Single(o => o.name == "milk");<br> 只會回傳一個符合條件的元素;如果沒有符合的元素或有多個符合的元素,則會引發例外。
SingleOrDefault() 找出唯一元素或空值 csharp<br>var uniqueFood = foodList.SingleOrDefault(o => o.name == "nonexistent");<br> 只會回傳一個符合條件的元素;如果沒有符合的元素,則回傳 null。如果有多個符合的元素,則會引發例外。
Sum() 計算集合中所有元素的總和 csharp<br>int[] numbers = { 1, 2, 3, 4, 5 };<br>int total = numbers.Sum();<br> Sum() 是 LINQ 方法,用於計算集合中所有數字元素的總和。
Sum(Func<TSource, TResult>) 計算特定屬性的總和 csharp<br>List<Food> foodList = new List<Food>() { new Food() { price = 5 }, new Food() { price = 15 } };<br>int totalPrice = foodList.Sum(o => o.price);<br> 計算集合中某個屬性(如 price)的總和。
Aggregate() 將集合中的元素進行聚合計算 csharp<br>int[] numbers = { 1, 2, 3, 4, 5 };<br>int sum = numbers.Aggregate((total, next) => total + next);<br> 將集合中的所有元素使用指定的運算進行聚合,這裡是計算總和。
Aggregate(Func<TAccumulate, TSource, TAccumulate>) 自定義聚合操作 csharp<br>List<Food> foodList = new List<Food>() { new Food() { price = 5 }, new Food() { price = 15 } };<br>int totalPrice = foodList.Aggregate(0, (total, food) => total + food.price);<br> 將集合中的元素進行自定義聚合計算,這裡是計算總價格。