Linq - 获取最后一个非零数组的索引

BSa*_*ita 6 .net c# linq arrays

是否有Linq表达式返回数组中最后一个非零值的索引?我对扩展感兴趣,只是一个简单的linq表达式.

我在想像这样的伪代码:

int index = {0, 2, 1}.LastOrDefaultAt(i => i > 0);
Run Code Online (Sandbox Code Playgroud)

返回值应为2;

Ani*_*Ani 11

你可以使用这个Array.FindLastIndex<T>方法:

int index = Array.FindLastIndex(myIntArray, item => item > 0);
Run Code Online (Sandbox Code Playgroud)

我注意到你在问题文本中提到"非零"而不是"大于零".你的谓词应该是:item => item != 0