我想使用 Enumerable.Repeat 創建一個 IEnumerable 串列,并希望按照下面的代碼將物件的 Id 設定為串列的第 n 個元素。這是否可能與 Enumerable.Repeat 或我需要做一些不同的事情?
var stuff = Enumerable.Repeat("This is element <n>", 50);
因此,以下代碼的結果輸出...
foreach (var s in stuff)
{
Console.WriteLine(s);
}
...將是 ...
This is element 0
This is element 2
This is element 3
...
This is element 49
uj5u.com熱心網友回復:
通常我Enumerable.Range用于這樣的任務:
var stuff = Enumerable.Range(0, 50)
.Select(i => new thing {id = i})
不可能完成這項任務,Repeat因為它完全按照它“承諾”的方式 - 多次重復完全相同的元素:
class thing{public int id;}
var counter = 0;
var stuff = Enumerable.Repeat(new thing { id = 1 }, 50)
.ToArray();
Console.WriteLine(object.ReferenceEquals(stuff[0], stuff[1])); // prints "True"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427133.html
上一篇:如何從Sql查詢撰寫Linq查詢
