当前位置:  开发笔记 > 编程语言 > 正文

如何在Enumerable.Range中获取上限

如何解决《如何在Enumerable.Range中获取上限》经验,为你挑选了1个好方法。

我试图获得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()反而是否?



1> Paul..:

你不能,不完全是.您的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()反而是否?

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有