Aracılığıyla paylaş


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

35styb3a.collapse_all(tr-tr,VS.110).gifDescription

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.)

35styb3a.collapse_all(tr-tr,VS.110).gifKod

Function runningTotal(ByVal num As Integer) As Integer
    Static applesSold As Integer
    applesSold = applesSold + num
    Return applesSold
End Function

35styb3a.collapse_all(tr-tr,VS.110).gifComments

Ö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.

35styb3a.collapse_all(tr-tr,VS.110).gifKod 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.

35styb3a.collapse_all(tr-tr,VS.110).gifGü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

Paylaşılan (Visual Basic)

Hiçbir şey (Visual Basic)

Statik (Visual Basic)

Kavramlar

Bildirilen öğe adları (Visual Basic)

Başvuru için bildirilen öğeler (Visual Basic)

Visual Basic'te kapsamı

Visual Basic'te erişim düzeyleri

Visual Basic değişkenleri

Değişken bildiriminde Visual Basic