Dictionary.FirstOrDefault() で値が取得できたか判別する方法


LINQで少しつまづいたのでメモ。

以下のように、default(Dictionary) と等しいかどうか比較することで判別できます。

FirstOrDefault.cs
// ディクショナリから、条件に合致する値のペアを取得する
var matchedPair = myDict.FirstOrDefault(item => item.Key.Match(name).Success);

// 取得できなかったら中断
if (matchedPair.Equals(default(Dictionary<Regex,string>)))
    return "";

//if (matchedPair == null) // ← これだとエラーになる
//    return "";