3 回答

TA貢獻(xiàn)1780條經(jīng)驗 獲得超4個贊
不。不過,在這種情況下,您可以使用條件:
var message = error ? "there was an error" : "no error";
但除此之外:沒有。您需要指定類型,或使用初始顯式值。我建議不要使用后者,因為它刪除了明確的分配檢查。

TA貢獻(xiàn)1824條經(jīng)驗 獲得超6個贊
在 Python 中,你可以做到這一點:
if error:
message = "there was an error";
else:
message = "no error";
print(message);
甚至:
message = "there was an error" if error else "no error"
這是可能的,因為 Python 不要求您定義變量:第一次為變量賦值時,它被創(chuàng)建,下一次被修改。
但是,這不是 C# 的情況;正如您自己所確認(rèn)的那樣,有各種警告不允許您像在 Python 中一樣進(jìn)行編碼。首先,您需要定義要使用的每個變量(及其類型,但請繼續(xù)閱讀),其次,還有作用域。在 C# 中,在if分支內(nèi)創(chuàng)建的變量將不存在于該分支的末尾。
好吧,然后是var。這是賦值運算符(“=”)右側(cè)值類型的特殊快捷方式。這并不意味著“我稍后會告訴你變量的類型”。這意味著“變量的類型與我分配給它的表達(dá)式相同。”。換句話說,您只能var在定義變量的同時為變量賦值時使用。
希望這可以幫助。
- 3 回答
- 0 關(guān)注
- 276 瀏覽
添加回答
舉報