Kullanıcı Tanımlı Veri Türü
Verileri tanımladığınız biçimde tutar. deyimi Structure
biçimi tanımlar.
Visual Basic'in önceki sürümleri kullanıcı tanımlı türü (UDT) destekler. Geçerli sürüm, UDT'yi bir yapıya genişletir. Yapı, çeşitli veri türlerinin bir veya daha fazla üyesinin birleştirilmiş olmasıdır. Visual Basic, bir yapıyı tek bir birim olarak ele alır, ancak üyelerine ayrı ayrı erişebilirsiniz.
Açıklamalar
Çeşitli veri türlerini tek bir ünitede birleştirmeniz gerektiğinde veya temel veri türlerinden hiçbiri gereksinimlerinizi karşılamadığında bir yapı veri türü tanımlayın ve kullanın.
Yapı veri türünün varsayılan değeri, üyelerinin her birinin varsayılan değerlerinin birleşiminden oluşur.
Bildirim Biçimi
Yapı bildirimi, Yapı Deyimi ile başlar ve deyimiyle End Structure
biter. deyimi Structure
, aynı zamanda yapının tanımladığı veri türünün tanımlayıcısı olan yapının adını sağlar. Kodun diğer bölümleri değişkenleri, parametreleri ve işlev dönüş değerlerini bu yapının veri türünde olacak şekilde bildirmek için bu tanımlayıcıyı kullanabilir.
ve End Structure
deyimleri arasındaki Structure
bildirimler, yapının üyelerini tanımlar.
Üye Erişim Düzeyleri
Genel, Arkadaş veya Özel gibi erişim düzeyini belirten bir Dim Deyimi veya deyimi kullanarak her üyeyi bildirmeniz gerekir. Bir Dim
deyim kullanıyorsanız erişim düzeyi varsayılan olarak genel olur.
Programlama İpuçları
Bellek Tüketimi. Tüm bileşik veri türlerinde olduğu gibi, üyelerinin nominal depolama ayırmalarını bir araya ekleyerek bir yapının toplam bellek tüketimini güvenli bir şekilde hesaplayamazsınız. Ayrıca, bellekteki depolama sırasının bildirim sıranızla aynı olduğunu güvenle varsayamazsınız. Bir yapının depolama düzenini denetlemeniz gerekiyorsa özniteliğini StructLayoutAttribute deyimine
Structure
uygulayabilirsiniz.Birlikte Çalışma Konuları. Otomasyon veya COM nesneleri gibi .NET Framework için yazılmayan bileşenlerle birlikte kullanıyorsanız, diğer ortamlardaki kullanıcı tanımlı türlerin Visual Basic yapı türleriyle uyumlu olmadığını unutmayın.
Genişletme. Herhangi bir yapı veri türüne veya herhangi bir yapı veri türüne otomatik dönüştürme yoktur. İşleç Deyimini kullanarak yapınızda dönüştürme işleçleri tanımlayabilir ve her dönüştürme işlecini veya
Narrowing
olarakWidening
bildirebilirsiniz.Karakter yazın. Yapı veri türlerinin sabit tür karakteri veya tanımlayıcı türü karakteri yoktur.
Çerçeve Türü. .NET Framework'te karşılık gelen bir tür yoktur. Tüm yapılar .NET Framework sınıfından System.ValueTypedevralır, ancak tek tek hiçbir yapı öğesine System.ValueTypekarşılık gelir.
Örnek
Aşağıdaki paradigma, bir yapının bildiriminin ana hattını gösterir.
[Public | Protected | Friend | Protected Friend | Private] Structure structname
{Dim | Public | Friend | Private} member1 As datatype1
' ...
{Dim | Public | Friend | Private} memberN As datatypeN
End Structure