可能重複的問題:
Conditional operator assignment with Nullable<value> types?C#條件運算符:?有可空INT
爲什麼條件運算符「?:」這裏沒有工作時,我的函數返回一個可空整數「int?」? 「返回null」的作品,但與「?:」我必須首先投下「null」爲「(int?)」。
public int? IsLongName(string name) {
int length = name.Length;
// this works without problems
if (name.Length > 10) {
return null;
} else {
return name.Length;
}
// this reports:
// Type of conditional expression cannot be determined because
// there is no implicit conversion between '<null>' and 'int'
return name.Length > 10 ? null : name.Length;
}
爲什麼不返回一個布爾? – 2012-04-21 17:26:45
難道我們沒有更好的重複嗎?還是在eric的博客上?我當然記得比這個問題更好的答案。 – CodesInChaos 2012-04-21 17:30:41
檢查Eric Lippert的相關博客文章:[Type inference woes,part one](http://blogs.msdn.com/ericlippert/archive/2006/05/24/type-inference-woes-part-one.aspx) – CodesInChaos 2012-04-21 17:42:54