我有一个IEnumerable
对象,它有3个字段。如何从C#中使用lambda的集合中获取最后一行+列
字段A
,B
和ResultNumber
。
如何仅使用lambda表达式从最后一行获取Resultnumber
?
我试过,没有工作的情况如下:
resultnum = result.LastOrDefault(d => d.ResultNumber)
在这种情况下,我已经被存储在resultnum不同的结果。
我有一个IEnumerable
对象,它有3个字段。如何从C#中使用lambda的集合中获取最后一行+列
字段A
,B
和ResultNumber
。
如何仅使用lambda表达式从最后一行获取Resultnumber
?
我试过,没有工作的情况如下:
resultnum = result.LastOrDefault(d => d.ResultNumber)
在这种情况下,我已经被存储在resultnum不同的结果。
你需要让最后一排和然后的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();
这不是你想在这种情况下,要实现什么。
你想是这样的谢谢乔恩。你救了我的命。 – user1204195 2012-02-11 19:23:47
:
if (someCollection != null && someCollection.Count > 0)
result = somecollection.Last().ResultNumber
什么没有工作?你有什么异常? – 2012-02-11 19:10:37
你会得到什么? – Tobias 2012-02-11 19:12:58
您可以向LastOrDefault()提供Predicate函数,而不是选择器。 – 2012-02-11 19:15:25