亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 if/else 語句中定義變量時,有沒有辦法使用 var ?

在 if/else 語句中定義變量時,有沒有辦法使用 var ?

C#
慕工程0101907 2021-06-29 09:01:33
我盡可能使用 var,因為不必顯式定義變量更容易。但是當在if或switch語句中定義變量時,我必須明確定義它。string message;//var message; <--- gives errorif (error){    message = "there was an error";}else{    message = "no error";}Console.WriteLine(message);即使變量是在 if 或 switch 構造中定義的,有沒有辦法使用var?
查看完整描述

3 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

不。不過,在這種情況下,您可以使用條件:

var message = error ? "there was an error" : "no error";

但除此之外:沒有。您需要指定類型,或使用初始顯式值。我建議不要使用后者,因為它刪除了明確的分配檢查。


查看完整回答
反對 回復 2021-07-03
?
慕妹3242003

TA貢獻1824條經驗 獲得超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 不要求您定義變量:第一次為變量賦值時,它被創建,下一次被修改。


但是,這不是 C# 的情況;正如您自己所確認的那樣,有各種警告不允許您像在 Python 中一樣進行編碼。首先,您需要定義要使用的每個變量(及其類型,但請繼續閱讀),其次,還有作用域。在 C# 中,在if分支內創建的變量將不存在于該分支的末尾。


好吧,然后是var。這是賦值運算符(“=”)右側值類型的特殊快捷方式。這并不意味著“我稍后會告訴你變量的類型”。這意味著“變量的類型與我分配給它的表達式相同?!薄Q句話說,您只能var在定義變量的同時為變量賦值時使用。


希望這可以幫助。


查看完整回答
反對 回復 2021-07-03
  • 3 回答
  • 0 關注
  • 285 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號