//
// 摘要:
// 返回序列中满足指定条件的唯一元素;如果这类元素不存在,则返回默认值;如果有多个元素满足该条件,此方法将引发异常。
//
// 参数:
// source:
// 要从中返回单个元素的 System.Linq.IQueryable<T>。
//
// predicate:
// 用于测试元素是否满足条件的函数。
//
// 类型参数:
// TSource:
// source 中的元素的类型。
//
// 返回结果:
// 返回满足 predicate 中条件的输入序列的单个元素;如果未找到这样的元素,则返回 default(TSource)。
//
// 异常:
// System.ArgumentNullException:
// source 或 predicate 为 null。
public static TSource SingleOrDefault<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);