2012-02-11 8 views
0

私はIEnumerableオブジェクトが3つのフィールドを持っています。ラムダを使用してC#のコレクションから最後の行+列を取得する方法

フィールドA,BおよびResultNumber

ラムダ式を使用して最終行からResultnumberのみを取得するにはどうすればよいですか?

私は動作しませんでした次のことを試してみました:

この場合
resultnum = result.LastOrDefault(d => d.ResultNumber) 

私はすでにresultnum変数に格納された結果を持っています。

+1

何をして動作しませんでしたか?どんな例外がありましたか? –

+0

何を手に入れますか? – Tobias

+0

セレクタではなく、LastOrDefault()に述語関数を指定できます。 –

答えて

3

あなたはResultNumberそして、最後の行を取得する必要があり、

var lastResultNumber = result.Last().ResultNumber; 

またはNo行がないことがある場合:

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

1

あなたはこのような何かしたい:

if (someCollection != null && someCollection.Count > 0) 
    result = somecollection.Last().ResultNumber 
関連する問題