Değer Türleri ve Başvuru Türleri

Visual Basic'te iki tür türü vardır: başvuru türleri ve değer türleri. Başvuru türlerinin değişkenleri başvuruları kendi verilerine (nesneler) depolarken, değer türlerinin değişkenleri kendi verilerini doğrudan içerir. Başvuru türleri ile, iki değişken aynı nesneye başvurabilir; bu nedenle, bir değişken üzerinde yapılan işlemler diğer değişkenin başvurduğu nesneyi etkileyebilir. Değer türlerinde her değişkenin kendi veri kopyası vardır ve bir değişkendeki işlemlerin diğerini etkilemesi mümkün değildir (parametrelerde ByRef değiştiricisi hariç).

Değer Türleri

Veri türü, verileri kendi bellek ayırması içinde barındırıyorsa bir değer türüdür . Değer türleri şunlardır:

  • Tüm sayısal veri türleri

  • Boolean, Charve Date

  • Üyeleri başvuru türleri olsa bile tüm yapılar

  • Sabit listeleri, temel alınan türleri her zaman SByte, , ShortInteger, , Long, ByteUShortUIntegerveya olduğundanULong

Başvuru türü üyeleri içerse bile her yapı bir değer türüdür. Bu nedenle ve gibi CharInteger değer türleri .NET Framework yapıları tarafından uygulanır.

Ayrılmış anahtar sözcüğünü kullanarak bir değer türü bildirebilirsiniz, örneğin, Decimal. Değer türünü başlatmak için anahtar sözcüğünü New de kullanabilirsiniz. Bu, özellikle türün parametreleri alan bir oluşturucusunun olması durumunda kullanışlıdır. Bunun bir örneği, sağlanan parçalardan yeni Decimal bir değer oluşturan oluşturucudurDecimal(Int32, Int32, Int32, Boolean, Byte).

Başvuru Türleri

Başvuru türü , verilerine yönelik bir başvuru depolar. Başvuru türleri şunlardır:

  • String

  • Öğeleri değer türleri olsa bile tüm diziler

  • Sınıf türleri, örneğin Form

  • Temsilciler

Sınıf bir başvuru türüdür. Üyeleri değer türleri olsa bile her dizinin bir başvuru türü olduğunu unutmayın.

Her başvuru türü temel alınan bir .NET Framework sınıfını temsil ettiğinden , başlatırken New Operator anahtar sözcüğünü kullanmanız gerekir. Aşağıdaki deyim bir dizi başlatır.

Dim totals() As Single = New Single(8) {}  

Tür Olmayan Öğeler

Aşağıdaki programlama öğeleri tür olarak nitelenmez, çünkü bunların hiçbirini bildirilen bir öğe için veri türü olarak belirtemezsiniz:

  • Ad alanları

  • Modül

  • Ekinlikler

  • Özellikler ve yordamlar

  • Değişkenler, sabitler ve alanlar

Nesne Veri Türü ile Çalışma

Veri türünün bir değişkenine Object bir başvuru türü veya değer türü atayabilirsiniz. Değişken Object her zaman verilere başvuru tutar, verilerin kendisini tutmaz. Ancak, bir Object değişkene bir değer türü atarsanız, kendi verilerini barındırıyor gibi davranır. Daha fazla bilgi için bkz . Nesne Veri Türü.

Bir Object değişkeni ad alanının sınıfındaki Information yöntemine geçirerek bir değişkenin IsReferenceMicrosoft.VisualBasic başvuru türü mü yoksa değer türü olarak mı davrandığını öğrenebilirsiniz. Information.IsReferencedeğişkeninin içeriği Object bir başvuru türünü temsil ediyorsa döndürürTrue.

Ayrıca bkz.