IEnumerable扩展方法FirstOrDefault没有按照我的意愿完成,所以我创建了FirstOrValue.这是一个很好的方式去做或有更好的方法吗?
public static T FirstOrValue<T>(this IEnumerable<T> source, Func<T, bool> predicate, T value)
{
T first = source.FirstOrDefault(predicate);
return Equals(first, default(T)) ? value : first;
}
Run Code Online (Sandbox Code Playgroud)