为什么这个编译:为什么默认不使用双括号?
return default(T);
但这并不:
return default((T));
完整的方法是
public static T PenultimateOrDefault<T>(this IEnumerable<T> items)
{
if (items.Count() >= 2)
return items.ElementAt(items.Count() - 2);
else
return default(T);
}
为default((T))
的错误是
; expected
Invalid expression term ')'
Type expected
所以看起来解析器被双括号所困扰。
为什么要添加不必要的括号?曾听说过铸造? – Rob
没理由。我添加了它,看它是否会起作用。这很有趣,为什么没有。 – Pol