我试图获得linqs可枚举范围的上限,例如:
Enumerable.Range(0, 3).Select(x => "index: " + x + " Max: ").ToList();
该清单应该具有:
index: 0 Max: 3 index: 1 Max: 3 index: 2 Max: 3 ...
Paul.. 7
你不能,不完全是.您的lambda函数将始终在实例的范围内执行.
你可以这样做:
var range = Enumerable.Range(0, 3); range.Select(x => "index: " + x + " Max: " + range.Max()).ToList();
但是你可能会这样做:
var range = Enumerable.Range(0, 3); var max = range.Max(); range.Select(x => "index: " + x + " Max: " + max).ToList();
顺便说一句,因为你使用的范围从零([ 0, 1, 2 ]
)开始,最大值将是2,而不是3.你想要.Count()
反而是否?
你不能,不完全是.您的lambda函数将始终在实例的范围内执行.
你可以这样做:
var range = Enumerable.Range(0, 3); range.Select(x => "index: " + x + " Max: " + range.Max()).ToList();
但是你可能会这样做:
var range = Enumerable.Range(0, 3); var max = range.Max(); range.Select(x => "index: " + x + " Max: " + max).ToList();
顺便说一句,因为你使用的范围从零([ 0, 1, 2 ]
)开始,最大值将是2,而不是3.你想要.Count()
反而是否?