VB.Net學習筆記(變量生存期和賦值)
2024-07-10 13:01:37
供稿:網友
變量有生存周期
這一點程序員們都了解,在vb.net中增加了一個修飾shared。shared 關鍵字指示一個或多個被聲明的編程元素將被共享。要點是:共享元素不關聯于某類或結構的特定實例。需要通過使用類名或結構名稱或者類或結構的特定實例的變量名稱限定共享元素來訪問它們。簡單的描述就是shared變量是為類型本身服務而不是為特定對象服務的。
shared舉例
public class testa
public shared i as int32 = 10
end class
public class testb
inherits testa '繼承testa
public sub new()
testa.i = 100 '使用類型的名字進行訪問shared變量
end sub
end class
要注意的是,在vb.net中shared變量與類型和實例的關系在語法上要求似乎并不特別嚴格,程序員可以使用類型的實例來訪問并修改shared變量,但在c#中要求就很嚴謹了。
賦值語句
在vb.net中賦值語句分為:簡單賦值語句、復合賦值語句、委托賦值語句、mid賦值語句。
簡單賦值語句
簡單賦值語句和以前的vb賦值語句基本上沒有太大的區別,只是現在vb.net允許對變量聲明后就立即賦值了(在前面可訪問性舉例可以看到示例)。我們需要關注的是數組的聲明和賦值方法。
在vb.net中你可以在聲明數組時同時描述數組的緯度和上限,且每一個數組的緯度的下限都是0,不可以改變。但可以通過將數組的上限指定為 -1 來指定“零長度數組”。這種數組不包含任何元素。
如果不顯示的描述數組的長度,你可以在聲明數組的同時立即賦值。
數組的聲明和賦值舉例
public class testa
dim iarr() as int32
dim barr(5) as boolean '5是指barr下標的上限,即可以有6個元素
dim larr() as long = new long(3) {100, 200, 300, 400}
dim carr() as string = new string() {"a", "b", "c"}
dim darr(-1) as double
end class
關于數組的更多特性,在后期關于數組的介紹中將詳細闡述。
復合賦值
現在vb.net開始支持復合賦值語句。與完全展開的表達式不同,復合賦值語句左側的變量僅計算一次。這意味著在運行時,變量表達式先于賦值語句右側的表達式計算。
復合賦值舉例
public class testa
public sub new()
dim i as int32
i += 10
end sub
end class
mid賦值
mid賦值實際上是字符串的處理賦值過程。通過以下的舉例可以了解mid的賦值方式。
mid舉例
public class testa
public sub new()
dim tmpstr as string
tmpstr = "hello vb.net" ' hello vb.net
mid(tmpstr, 7, 2) = "c#" ' hello c#.net
mid(tmpstr, 7) = "vb6" ' hello vb6net
mid(tmpstr, 7) = "vb6 to vb.net" ' hello vb6 to
mid(tmpstr, 7, 3) = "vb6 to vb.net" 'hello vb6 to
end sub
end class
關于委托語句的關鍵字addressof在后期委托和事件中講詳細描述。