我想找到列表中最后一个元素,并且知道我必须使用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
}
如何检索此类指标的最后一次出现?感谢
答案 0 :(得分:1)
您可以使用LINQ:
var last = orderedMetricByNS.LastOrDefault();
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.lastordefault%28v=vs.95%29.aspx
答案 1 :(得分:1)
什么是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();