我想知道一次聲明變量(在If-then-else循環之外)或多次(在每種情況下)之間有什麼區別:如何聲明一個變量用於多個IF
第一種情況下(我使用這種方式):
If A < 0 Then
Dim YNC As MsgBoxResult = MsgBox("Select Yes-No-Cancel", vbYesNoCancel, "Select")
'Some code
ElseIf A = 0 Then
Dim YNC As MsgBoxResult = MsgBox("Select Yes-No-Cancel", vbYesNoCancel, "Select")
'Some code
Else
Dim YNC As MsgBoxResult = MsgBox("Select Yes-No-Cancel", vbYesNoCancel, "Select")
'Some code
End If
第二種情況:
Dim YNC As MsgBoxResult
If A < 0 Then
YNC = MsgBox("Select Yes-No-Cancel", vbYesNoCancel, "Select")
'Some code
ElseIf A = 0 Then
YNC = MsgBox("Select Yes-No-Cancel", vbYesNoCancel, "Select")
'Some code
Else
YNC = MsgBox("Select Yes-No-Cancel", vbYesNoCancel, "Select")
'Some code
End If
有什麼理由去改變我的代碼?
我做了正確的選擇嗎?
編輯
我更喜歡第一個,因爲它更可讀的(至少對我來說)
EDIT 2
好吧,我覺得我得到我的回答到發佈的史蒂夫鏈接:
最小化範圍
一般來說,在聲明任何變量或常數時,編程練習的好處是儘量縮小範圍(塊 的範圍最窄)。這有助於節省內存,並最大限度地減少代碼錯誤地引用錯誤變量的機會。 同樣,只有在需要在過程 調用之間保留其值時,才應將變量聲明爲靜態(Visual Basic) 。
你想在if後使用YNC嗎?我想是的吧?然後嘗試在ifs中多次聲明它。 [Visual Basic中的範圍](https://msdn.microsoft。com/en-us/library/1t0wsc67.aspx) – Steve
@Steve這是可能的。我有多個msgbox問題。感謝您的鏈接,但我知道範圍限制。我的問題是:什麼更好,爲什麼? – genespos