[英]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.