2010-12-01 7 views

答えて

1

EDIT:DefaultIfEmptyには既に適切な過負荷があります。

あなたはFirstOrDefault()にデフォルト値を提供することはできませんが、常に使用できます。

// Select the first image, or a default otherwise 
var image = query.FirstOrDefault() ?? defaultImage; 

をそれとも、はもちろん、デフォルトを受け入れないFirstOrDefaultの独自の過負荷を書くことができます。このような何か:

public static T FirstOrDefault<T>(this IEnumerable<T> source, 
    T defaultValue) 
{ 
    // This will only ever iterate once, of course. 
    foreach (T item in source) 
    { 
     return item; 
    } 
    return defaultValue; 
} 
+0

はなぜDefaultIfEmptyここでは使用できないのですか? DefaultIfEmptyにすでにそのオーバーロードがありませんか? – nawfal

+0

@nawfal:それは実際にはそうですね。しかし、FirstOrDefaultはそうではありません。ありがとうございます。 –

+0

ええ、そうです。 – nawfal

関連する問題