我只是想知道爲什麼下面的代碼無法正常工作(請記住,我設置age
爲可以爲空):C#.NET不能分配空給一個變量中內嵌if語句
myEmployee.age = conditionMet ? someNumber : null;
然而,以下工作正常:
if(conditionMet)
{
myEmployee.age = someNumber;
}
else
{
myEmployee.age = null;
}
我爲什麼不能設置爲null在條件操作的價值?我的代碼中的所有這些if
語句都不好。
謝謝。
請定義_code不工作_。 – jrummell 2012-04-23 15:15:42
[有條件的運算符賦值可能爲類型?](http:// stackoverflow。com/questions/75746/conditional-operator-assignment-with-nullablevalue-types) –
2012-04-23 15:16:17
請注意 - 這不是'內聯if';它是*條件運算符*。 「if」語句是語句(即沒有值);條件運算符'?:'是一個表達式(因此爲什麼你有這個問題,因爲這些類型必須是相同或隱式可轉換的)。 – 2012-04-23 15:16:34