[英]Get max from a sub array in C#
我有一个问题,可以说我有一个数组:
var array = new int[] { 7, 16, 4, 9, 865, 3, -8, 56};
我想从索引中获取最大值(让我们说索引4),该怎么做? 是否有类似的东西:
array.fromIndex(4).max()
此外,我尝试变得简单,并做了
(array + 4).max()
但出现错误
“运算符'+'无法应用”
这是为什么?
谢谢!
另外,我尝试简化并做到了
(array + 4).max()
但收到错误“无法应用运算符'+'”,这是为什么呢?
在C#中, array
不是可用于计算的指针。 因此,未定义运算符+
来执行此类操作。
如果要开始从某个索引上搜索最大值,则可以跳过到目前为止的所有值:
int maxValue = array.Skip(4).Max();
编辑:受到@jdphenix的建议的启发:
如果要对要搜索的最大范围进行更多控制,则Take
方法可能会很有帮助。 这种组合可以让您设置子数组的范围:
var array = new int[] { 7, 16, 4, 9, 865, 3, -8, 56 };
int startIndex = 4;
int numberOfElements = 3;
array.Skip(startIndex).Take(numberOfElements).Max();
如果要指定起始索引和终止索引,则应如下所示:
int startIndex = 4;
int endIndex = 7;
array.Skip(startIndex).Take(endIndex - startIndex).Max();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.