有沒有一種方法可以在同一枚枚舉上運行的方法中引用源枚舉?引用可枚舉的方法中的枚舉源?
例如,該代碼重複1-6原始枚舉範圍:
IEnumerable<int> result = Enumerable.Range(1, 6)
.Where(a => Enumerable.Range(1, 6).Count() % 2 == 0);
我想知道是否存在與重複原始枚舉以產生它的清潔器的方式,如:
IEnumerable<int> result = Enumerable.Range(1, 6)
.Where(a => [source reference].Count() % 2 == 0);
是的,我知道以下是解決方案...但有沒有辦法直接引用內存中的枚舉,如上所示?
IEnumerable<int> source = Enumerable.Range(1, 6);
IEnumerable<int> result = source.Where(a => source.Count() % 2 == 0);
我不是在尋找上述代碼行的特定答案;他們只是一個展示我想知道的例子。
我不認爲C#有一個解決方案,而不是你的最後一個例子。我認爲這最後一個例子是很容易理解的。 – zmbq
當您沒有直接引用它時,您如何期望直接引用枚舉? – asawyer
爲什麼在'Where'查詢中使用條件會給每個項目提供相同的結果? – Rawling