如何使用FindLast()查找元素的最后一次出现

本文关键字:最后一次 元素 查找 何使用 FindLast | 更新日期: 2023-09-27 18:26:30

我想找到列表中元素的最后一个出现,并且知道我必须使用FindLast()才能做到这一点。但是,我不知道如何实现和使用这种方法。

这是我的代码:

// the list I need to check
orderedMetricsByNS = (List<Metric>) lmresponse.Metrics.OrderBy(metric => metric.Namespace);
foreach (Metric m in orderedMetricsByNS)
            {
                 // want to use the FindLast() here 
            }

如何检索类似这样的度量的最后一次出现?感谢

如何使用FindLast()查找元素的最后一次出现

什么是Predicate?你可以这样使用它:

var item = orderedMetricsByNS.FindLast(m => /* your condition */);

或者,如果你只想找到最后一个项目,请使用Last方法

var item = orderedMetricsByNS.Last();

顺便说一句,如果你不能从IOrderedEnumerable<T>转换为List<T>,你的代码就会失败,你需要使用ToList方法。

orderedMetricsByNS = lmresponse.Metrics.OrderBy(metric => metric.Namespace).ToList();

您可以使用LINQ:

var last = orderedMetricByNS.LastOrDefault();

http://msdn.microsoft.com/en-us/library/system.linq.enumerable.lastordefault%28v=vs.95%29.aspx