IEnumerable擴展方法FirstOrDefault沒有完全按照我想要的方式做,所以我創建了FirstOrValue。這是一個很好的方式去解決這個問題,還是有更好的方法?FirstOrDefault不同的採取FirstOrDefault
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;
}
這應該是框架的一部分!或者我忽略了這一點? – Marcel 2011-09-13 12:54:17
+1「總是先寫規格」。 – 2012-02-20 07:00:29