SingleOrDefault


SingleOrDefaultmの挙動

SingleOrDefaultは、Listから条件を満たす1個のオブジェクトを抽出するときに使います。

Device device = devices.SingleOrDefault(d => d.Name == "dev2");

条件を満たすオブジェクトが0個のとき

SingleOrDefaultは、型の既定値を返します。
上記のコードの場合、Deviceクラスの既定値はnullなのでnullを返します。

条件を満たすオブジェクトが1個のとき

SingleOrDefaultは、1個のオブジェクトを返します。

条件を満たすオブジェクトが2個のとき

SingleOrDefaultは、例外である System.InvalidOperationException を返します。