Visual Basic'te yaşam süresi
Yaşam bir bildirilen süre hangi BT sırasında kullanılabilir durumda öğesidir.Değişkenleri ömrü tek öğelerdir.Bu amaçla, derleyici yordam parametreleri kabul eder ve değişkenleri özel durumlar işlevini verir.Bir değişkenin yaşam süre boyunca bir değer tutabilir temsil eder.Yaşam süresi üzerinde değerini değiştirebilirsiniz, ancak her zaman bazı değeri tutan.
Farklı yaşam süreleri
A üye değişkeni (herhangi bir yordam dışında modül düzeyinde bildirilen) genellikle aynı yaşam süresi içinde bildirildiði öðe olarak vardır.Bir sınıf veya yapı bildirilen paylaşılmayan bir değişken, sınıf veya yapı içinde bildirilmiş her örneği için ayrı bir kopyası olarak bulunmaktadır.Her tür değişken, örnek olarak aynı ömre sahiptir.Ancak, bir Shared , uygulamanızın çalıştığı tüm zamanını sürer yalnızca bir tek yaşam, değişken yok.
A yerel değişken (yordam içinde bildirilen) içinde bildirildiði yordamı çalışırken bulunmaktadır.Bu da o yordamın parametreleri ve dönüş herhangi bir işlev için geçerlidir.Ancak, bu yordamı diğer yordamları çağıran, çağrılan yordam çalıştırılırken yerel değişkenlerin değerlerini korur.
Yaşam süresi başlangıcı
Denetim bildirilmiş yordamı girdiğinde, yerel bir değişkenin yaşam süresi başlar.Yordam başlar başlamaz her yerel değişken veri türü için varsayılan değer için başlatılmış olan çalışan.Ne zaman yordamı karşılaştığı bir Dim başlangıç değerleri belirten bir ifade ayarlar değişkenleri bu değerler için bile kodunuzu diğer değerler onlara önceden atanmış.
Bir yapı değişkeni her üyesi ayrı bir değişken olan olarak başlatılır.Benzer şekilde, her öğe, bir dizi değişkeni tek tek başlatıldı.
Autoexec.bat içindeki bir blok içinde bir yordam (gibi bir For döngü) yordamının girişindeki başlatıldı.Kod bloğu şimdiye kadar yürütür olup olmadığına bakılmaksızın bu başlatmaları etkili olur.
Yaşam süresi sonu
Bir yordam sonlandırıldığında, kendi yerel değişkenlerin değerlerini korunmaz, ve Visual Basic kendi bellek biçimiyleilgili.Yordam çağrısı başlattığınızda tüm yerel değişkenler afresh oluşturulur ve yeniden.
Bir sınıf veya yapı örneğini sonlandırır, paylaşılmayan değişkenlerini kendi bellek ve değerlerine kaybedersiniz.Her yeni sınıf veya yapı örneği oluşturur ve paylaşılmayan değişkenlerini yeniden başlatır.Ancak, Shared değişkenleri uygulamanızı çalıştıran duruncaya kadar korunur.
Yaşam uzantısı
İle yerel bir değişken bildirip, Static anahtar sözcüğünü, ömrü boyunca alt yordamı yürütme süreden daha uzun.Yordam bildirimi ne kadar süreyle nasıl belirlediği aşağıdaki tabloda gösterilmektedir bir Static değişken yok.
Yordam konumu ve paylaşımı |
Statik değişken yaşam başlar |
Statik değişken ömrü sona erer |
---|---|---|
(Varsayılan olarak paylaşılan) bir modülü |
Yordam olarak adlandırılan ilk kez |
Uygulamanız çalışmayı durdurduğunda, |
Bir sınıfta Shared (yordam değil bir örnek üye) |
Yordam, belirli bir örneği veya sınıf veya yapı adlı ilk kez kendisini adı |
Uygulamanız çalışmayı durdurduğunda, |
Bir sınıfın örneğini de değil Shared (yordam örnek üyesine kullanılır) |
İlk kez yordamı örneği üzerinde verilir |
Çöp toplama (gc) örnek ne zaman serbest |
Statik değişkenler aynı adı
Statik değişkenler aynı adla birden fazla yordamdaki bildirebilirsiniz.Bu, Visual Basic derleyici ayrı bir öğe olması gibi her değişkenin dikkate alır.Bu değişkenlerden birinin başlatma başkalarının değerlerini etkilemez.Aşırı kümesiyle bir yordam tanımlayın ve her aşırı içinde aynı ada sahip bir statik değişkeni bildirmek de aynı şey olur.
Statik değişkenler için öğeleri içeren
Bu sınıftaki bir yordam içindeki yerel bir statik değişken bir sınıf içinde diğer bir deyişle bildirebilirsiniz.Ancak, yerel bir statik değişken bir yapı içinde yapısı üye ya da bu yapı içinde bir yordam yerel bir değişken olarak bildiremezsiniz.
Örnek
Description
Aşağıdaki örnek bir değişken ile bildiren Statik (Visual Basic) anahtar sözcüğü.(Size gerekmeyen Not Dim anahtar sözcüğü, Dim deyimi (Visual Basic) bir değiştirici gibi kullanan Static.)
Kod
Function runningTotal(ByVal num As Integer) As Integer
Static applesSold As Integer
applesSold = applesSold + num
Return applesSold
End Function
Comments
Önceki örnekte, değişken applesSold yordamından sonra var olmaya devam runningTotal için arama kodunu döndürür.Sonraki runningTotal adı verilen applesSold önceden hesaplanmış değerini korur.
applesSold Kullanmadan açýkdönüþtürme Static, önceki birikmiş değerleri çağrıları arasında korunamadı runningTotal.Sonraki runningTotal çağrıldı, applesSold ve yeniden 0 olarak başlatılır ve runningTotal ile onu çağrıldı aynı değeri yalnızca iade.
Kod Derleniyor
Yerel bir statik değişken bildiriminde bir parçası olarak değerinin baþlatabilirsiniz.Bir dizi olarak bildirirseniz Static, başlatabilir, rank (boyutları sayısı), her boyut uzunluğunu ve bağımsız öğelerinin değerleri.
Güvenlik
Önceki örnekte, aynı yaşam bildirerek üretebilir applesSold modül düzeyinde.Ancak, bu şekilde bir değişkenin kapsamı değiştirdiyseniz, yordam artık özel kullanım erişimi yoktur.Diğer yordamlar erişebilir çünkü applesSold ve değerini değiştirmek, toplam güvenilmez olabilir ve kod korumak daha zor olabilir.
Ayrıca bkz.
Görevler
Veri türleri (Visual Basic) sorun giderme
Başvuru
Kavramlar
Bildirilen öğe adları (Visual Basic)
Başvuru için bildirilen öğeler (Visual Basic)