Range
產生指定範圍的整數序列:
var range = Enumerable.Range(2, 5); // 起始數字, 產生數量
Console.WriteLine(string.Join(", ", range));
// 2, 3, 4, 5, 6
Chunk
將集合依照指定長度上限分割:
var range = Enumerable.Range(1, 10); // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
var chunk = range.Chunk(3); // 拆分為長度上限為 3 的多個集合
foreach (var item in chunk)
{
Console.WriteLine(string.Join(", ", item));
}
// 1, 2, 3
// 4, 5, 6
// 7, 8, 9
// 10
Repeat
產生指定範圍的整數序列:
var repeat = Enumerable.Repeat("Hello", 3); // 要重複的內容, 重複次數
Console.WriteLine(string.Join(", ", repeat));
// Hello, Hello, Hello
Empty
產生一個空的 IEnumerable<T> 集合,可以避免回傳 null
var empty = Enumerable.Empty<int>();
DefaultIfEmpty
如果是空集合,就塞入預設值
var numbers = new int[] { };
var result = numbers.DefaultIfEmpty(0); // 如果是空集合就塞入 0
Console.WriteLine(string.Join(", ", result));
// 0
參考資料:
Microsoft.Learn - Enumerable.Range(Int32, Int32) Method
Microsoft.Learn - Enumerable.Chunk<TSource>(IEnumerable<TSource>, Int32) Method
Microsoft.Learn - Enumerable.Repeat<TResult>(TResult, Int32) Method
Microsoft.Learn - Enumerable.Empty<TResult> Method
Microsoft.Learn - Enumerable.DefaultIfEmpty Method
感謝教學~
回覆刪除