İçindekiler:
Video: C# Online Eğitim Dersleri, C# Klavye Dinleme (Keylogger), Visual Studio 2015 Dersleri 2024
VB için geçerlidir. NET programları, tıpkı Birleşik Devletler eyalet, ilçe ve şehirler gibi bölüme ayrılmıştır. Tıpkı kanun uygulayıcılarının farklı boyutlardaki yargı alanlarına (şehir polisleri, devlet askerleri ve herhangi bir yere gidebilecek FBI), VB'ye sahip olması gibi. NET programlama çizgileri etki alanları taşır. kapsamı olarak adlandırılan etki alanı, çoğunlukla değişkenlere uygulanır (ancak tüm sınıfların yanı sıra prosedürlere de uygulanabilir - alt sınıflar ve işlevler).
Bir değişkene erişme
Genellikle bir değişkende değeri sorgulamak veya değiştirmek istiyorsanız, ancak bu değişkenin sizin tarafınıza erişip erişemeyeceği, kapsamına bağlıdır. Örneğin, aynı yordamın içinden her zaman bir değişkene erişebilirsiniz (işlevler, altprogramlar ve olaylar tüm prosedürlerdir).
Bunun nasıl çalıştığını görmek için, kod modülünüze aşağıdakileri yazın:
Özel Alt Form1_Load (ByVal gönderen As System.Object, ByVal e As System, EventArgs) MyBase'i işler. Load
Dim N As String = "Bu"
MsgBox (N)
Sonlandırma Alt
F5 tuşuna basın ve MsgBox'un N değişkeninin değerini görüntüleme sorunu olmadığını fark edin.
Bu görüntülenir. Şimdi, kod penceresinde Form1_Load altındaki başka bir alt yazın:
Public Sub TryIt ()
MsgBox (N)
Son Sub
N değişkeninin altında testere dişi çizgi bulunduğuna dikkat edin. Dene. Fare işaretçisini testere dişi çizgi ve VB'nin üzerinde tutun. NET, 'N' adının bildirilmediğini bildiren bir hata iletisi görüntüler.
Bu hata mesajı, TryIt altındaki (Public Sub ve End Sub arasındaki) herhangi bir kod satırı, N değişkenini okuyamaz (erişir) veya yazamaz (değişir) anlamına gelir. N, Dim komutunu) ayrı bir yordamda kullanır ve bu nedenle N kapsamı (erişilebilirlik aralığı), aynı yordam içindeki kod satırlarıyla sınırlıdır.
Dim en yaygın olarak kullanılmasına rağmen, yedi ek bildirim komutunu kullanabilirsiniz: Statik, Genel, Korumalı, Arkadaş, Paylaşılan, Korumalı Arkadaş ve Özel. Bu ek komutlar, kapsamı belirtir (programınızdaki bir değişkene hangi konumlardan erişilebileceği).
Bir yordamın içinde bir değişken bildirirken, değişken yalnızca bu yordam içinde çalışır. Program prosedürü (veya olayı) çalıştırdığında, değişken End Sub hattı yürütüldüğünde hayata geçer, şeyini yapar ve ölür (kaybolur).
Değişkenler yerel olduğunda
Yalnızca tek bir yordam içinde yaşayan değişkenlere yerel değişkenler denir. Yerel değişkenler, ezberlemeniz gereken iki nitelik taşır:
- Kendi prosedürlerinin dışındaki programlama, değerlerini okumak veya değerlerini değiştirmek için onlarla etkileşim kuramaz. Kapsamları kendi prosedürüyle sınırlıdır.
- VB, bulundukları prosedürü yerine getirmeyi tamamladığında, değerleri buharlaşır. Bu işlem ikinci kez çalıştırılırsa, bir zamanlar yerel değişkenin değeri ne olursa olsun artık yoktur. Prosedürün birer uygulanması ömrüdür. Yerel bir değişkenin değerinin korunmasını istediğiniz bazı durumlar vardır. Bu gibi durumlarda, Dim komutundan ziyade Static komutunu kullanırsınız:
Özel Alt Form1_Load (Sistem Olarak Nesne Olarak ByVal Göndericisi, Sistem Olarak ByVal e - EventArgs) MyBase'i işler. Load
Dim n As Integer
Statik x As Integer
Son Sub
Bu örnekte, n değişkeni End Sub yürütüldüğünde değerini kaybeder. Bununla birlikte, x değişkeni, program kapatılana kadar değerini korur. Bunu koymanın başka bir yolu şudur: Statik komutu bir yerel değişkenle birlikte kullandığınızda, uygulamanın ömrü boyunca bu değişkenin değeri korunur. (Ömür boyu bir programda ne kadar bir şey var demektir.)
Formunuza iki Komut Düğmesi koyduktan sonra ne olacağını düşünüyorsunuz ve ardından programı çalıştırdınız ve önce Command1'i tıkladınız ve daha sonra Command2'yi tıkladınız: Bu sonraki program?
Özel Alt Düğme1_Click (Sistem Olarak Nesne Olarak ByVal Gönderici, Olarak Sistem Olarak ByVal e EventArgs) Button1'i İşler.
Dim T Olarak Sabitleştir
X = 12
X = X + 5
Son Sub
Özel Alt Button2_Click (Sistem Olarak ByVal Göndericisi, Sistem Olarak ByVal e EventArgs) Button2 İşleri.
Dim X As Integer
MsgBox (X)
Son Sub
öğesini tıklatın. Mesaj kutusunda hiçbir şey görüntülenmez. Command1'in Click olayındaki X değişkeni, Command2'nin Click olayındaki X'den tamamen farklı bir değişkendir. Onlar kapsamı yerel ve sadece birbirleriyle hiçbir ilişkisi var, Bronx yaşamak ve asla bir araya geldi Mike adlı iki yabancının fazla.
Ancak, eğer bu prosedürlerin her ikisinin de aynı değişkene erişebilmesi ve manipüle edebilmesini isterseniz? Bunu yapmak için, değişkenleri prosedürlerin dışında tanımlarsınız. Dene. Ekleme imlecini oraya taşımak için kod penceresinde hemen ilk prosedürünün üst kısmını (Özel Alt Form1_Load satırının hemen üstünde) tıklayın.
Şimdi şunu yazın:
Dim x As Integer
Forma genel kapsam vermek istediğiniz herhangi bir değişkeni koymak istediğiniz yer - diğer bir deyişle, bu formdaki tüm işlemleri (Form1, bu durumda) değişkeni okuyup değiştirebilmek için. (Genel genişleme değişkenleri koyduğunuz alan, VB.NET'den önce Genel Tanımlamalar alanı olarak adlandırılırdı.)
Şimdi, bu X değişkeni tüm alt sınıfların ve diğer prosedürlerin üstünde (dışında) Dimmed ile aynı programı çalıştırın, Command1'i tıklatın ve Command2'yi tıklatın, görmek istediğiniz sonucu görürsünüz: sayı 17'dir. Form genelinde kapsam olarak X işaret ettiğinizde, iki düğme X değişkenine erişebilir.Daha önce X işaretleyen bu iki Button olayı içindeki iki Dim ifadesini silin. Şimdi X = X + 5 ve MsgBox (X) hem X olarak adlandırılan aynı değişkene atıfta bulunur.
Bir değişkenin genel geniş kapsamı olduğunda, o formdaki tüm yordamlar için kullanılabilir. Bununla birlikte, projedeki herhangi bir başka formdaki prosedürler için mevcut değildir.