2012-02-11 214 views
0

我有一个IEnumerable对象,它有3个字段。如何从C#中使用lambda的集合中获取最后一行+列

字段ABResultNumber

如何仅使用lambda表达式从最后一行获取Resultnumber

我试过,没有工作的情况如下:

resultnum = result.LastOrDefault(d => d.ResultNumber) 

在这种情况下,我已经被存储在resultnum不同的结果。

+1

什么没有工作?你有什么异常? – 2012-02-11 19:10:37

+0

你会得到什么? – Tobias 2012-02-11 19:12:58

+0

您可以向LastOrDefault()提供Predicate函数,而不是选择器。 – 2012-02-11 19:15:25

回答

3

你需要让最后一排和然后ResultNumber

var lastResultNumber = result.Last().ResultNumber; 

或者,如果有可能没有行:

var lastOrDefault = result.LastOrDefault(); 
if (lastOrDefault != null) 
{ 
    var lastResultNumber = lastOrDefault.ResultNumber; 
} 
else 
{ 
    // Handle the case with no rows 
} 

Last()的重载,LastOrDefault()等,这需要代表使用该代理进行过滤 - 所以:

var query = foo.Last(predicate); 

是大致等同于:

var query = foo.Where(predicate).Last(); 

这不是你想在这种情况下,要实现什么。

你想是这样的
+0

谢谢乔恩。你救了我的命。 – user1204195 2012-02-11 19:23:47

1

if (someCollection != null && someCollection.Count > 0) 
    result = somecollection.Last().ResultNumber 
相关问题