2013-03-08 10 views
1

我想盡量縮短我的代碼,但我不知道如何去做。我正在使用VB.NET並對此有一點了解。這是我的代碼的一部分,是有辦法縮短這個使用循環VB.NET如何使用循環來分配值

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    mdp1 = 0 
    mdp2 = 0 
    mdp3 = 0 
    mdp4 = 0 
    mdp5 = 0 
    mdp6 = 0 
    mdp7 = 0 
    mdp8 = 0 
    mdp9 = 0 
    mdp10 = 0 
End Sub 
+1

一個循環只會在這裏工作。另一種選擇可能是按照原樣取代碼,只是將這10行代碼抽象爲類中某個其他類的私有函數(或另一類中的公共代碼,具體取決於代碼的結構)。然後,這個高度可見的事件處理程序只會對不太明顯的輔助函數(使用某種直觀的名稱)進行單行調用,這樣會更清晰一些。 – David 2013-03-08 12:11:25

+0

'mdp'是什麼?變量?控制?做什麼的? – SysDragon 2013-03-08 12:41:40

+0

它是一個變量 – conquistador 2013-03-08 12:43:12

回答

0

如果您更改爲一個數組,你需要的是這個。

Private mpd(9) as Integer

所有值將初始化(使用VB)。請注意.Net是基於0的,因此要訪問第10個成員,它將是mpd(9)。第一個值是mpd(0)而不是mpd(1)。

+2

你的聲明聲明瞭一個由11個整數組成的數組,而不是10個。在VB中.Net,數組聲明的上限不是大小。 – 2013-03-08 15:17:55

+0

固定。謝謝,@ChrisDunaway – 2013-03-08 22:23:57

0

添加到Jim的答案,這裏是一些代碼來幫助你,我不能確定這是否會完全回答你的整個問題:如果這些變量是可枚舉結構

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

     Dim mdp() As Integer = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} 
End Sub 
+0

您的示例的第一部分不起作用:顯式初始化不允許使用顯式邊界聲明的數組。 – 2013-03-08 22:42:18

+0

謝謝@AndrewMorton,更正。 – 2013-03-08 22:47:04