ReDim Deyimi (Visual Basic)
Depolama alanı için bir dizi değişkeni yeniden tahsis ederse.
ReDim [ Preserve ] name(boundlist) [ , name(boundlist) [, ... ] ]
Bölümleri
Terim |
Tanım |
---|---|
Preserve |
İsteğe Bağlı.Değiştirici yalnızca son boyut boyutunu değiştirdiğinizde varolan dizi verileri korumak için kullanılır. |
name |
Gerekli.Dizi değişkeninin adı.Bkz: Bildirilen Öğe Adları (Visual Basic) |
boundlist |
Gerekli.Her yeniden tanımlanan dizinin boyutunun sınırları listesi. |
Notlar
Kullanabileceğiniz ReDim bir veya daha fazla boyutları zaten bildirilmiş bir dizinin boyutunu değiştirmek için deyimi.Büyük bir dizi varsa ve kendi öğeleri bazıları artık gerek ReDim dizi boyutunu azaltarak belleği boşaltmak.Daha fazla öğe dizinizi gerekiyorsa, diğer yandan, ReDim bunları ekleyebilirsiniz.
ReDim İfadesi yalnızca diziler için düşünülmüştür.Fazla ilerleyemezdik (yalnızca tek bir değer içeren değişkenler), koleksiyon veya yapıları üzerinde geçerli değil.Bir değişken türü unutmayın Array, ReDim deyimi yeni bir dizi oluşturmak için yeterli türü bilgileri yok.
Kullanabileceğiniz ReDim yordam düzeyinde.Bu nedenle, bir yordam değişken bildirimi bağlamının olmalıdır; Kaynak dosya, bir ad alanı, bir arabirim, bir sınıf, bir yapı, bir modül veya bir blok olamaz.Daha fazla bilgi için bkz. Bildirim Bağlamları ve Varsayılan Erişim Düzeyleri (Visual Basic).
Kurallar
Birden çok değişken. Aynı declaration deyimi içinde birden çok dizi değişkenlerini yeniden boyutlandırmak ve belirtin name ve boundlist her değişken için parçalar.Birden çok değişkenleri virgüllerle ayrılır.
Dizi sınırları. Her iki girdinin boundlist alt ve üst sınırların o boyutun belirtebilirsiniz.Her zaman alt sınırdır 0 (sıfır).En yüksek olası dizin değeri değil (, artı bir üst sınır olan) boyutun uzunluğu, boyut için üst sınırdır.Her boyut için dizin 0'dan üst sınır değerini gösterebilir.
Boyutların sayısı boundlist biri dizi boyutları (derece) özgün sayısı eşleşmelidir.
**Veri türleri.**ReDim İfadesini bir dizi değişkeni veya öğelerini veri türünü değiştirin.
**Başlatma.**ReDim İfade dizi öğeleri için yeni başlangıç değerleri sağlayamaz.
**Derece.**ReDim İfadesini dizi derecesini (boyut sayısını) değiştirin.
Koruma ile yeniden boyutlandırma. Kullanırsanız, Preserve, dizinin son boyutu yeniden boyutlandırabilirsiniz.Diğer her boyut için varolan diziyi bağımlı belirtmeniz gerekir.
Örneğin, dizinizi yalnızca bir boyut varsa, o boyutu yeniden boyutlandır ve son, yalnızca boyut değiştirme çünkü hala dizi tüm içeriğini koruyabilirsiniz.Dizinizi iki veya daha fazla boyutları varsa kullanırsanız, ancak, yalnızca son boyut boyutunu değiştirebilirsiniz Preserve.
Özellikleri. Kullanabileceğiniz ReDim değerler dizisi tutan özellikte.
Davranış
**Yeni dizi.**ReDim varolan diziyi bırakır ve aynı rütbe ile yeni bir dizi oluşturur. Yeni bir dizi dizi değişkeni yayımlanan dizinin yerini alır.
Koruma olmadan başlatma. Belirtmezseniz, Preserve, ReDim yeni dizinin öğeleri, veri türü için varsayılan değeri kullanarak başlatır.
Başlatma ile koru. Belirtirseniz Preserve, Visual Basic yeni bir dizi için varolan diziden öğeleri kopyalar.
Örnek
Aşağıdaki örnek, varolan herhangi bir veri dizisindeki kaybetmeden dinamik bir dizinin son boyutu boyutunu artırır ve sonra kısmi veri kaybı ile boyutunu azaltır.Son olarak, özgün değerine dön boyutu küçülür ve dizi öğelerini yeniden başlatır.
Dim intArray(10, 10, 10) As Integer
ReDim Preserve intArray(10, 10, 20)
ReDim Preserve intArray(10, 10, 15)
ReDim intArray(10, 10, 10)
Dim Deyimi ile üç boyutlu yeni bir dizi oluşturur.Her boyut için dizi dizini 0 ile 10 arasında böylece her boyut 10 bir sınır ile bildirilir.Aşağıdaki tartışmada, üç boyutlu için katman, satır ve sütun adlandırılır.
İlk ReDim değişkeni mevcut dizinin yerini alan yeni bir dizi yaratır intArray.ReDimvarolan diziden tüm öğeleri yeni bir diziye kopyalar.Ayrıca her katmandaki her satırın sonuna 10 daha fazla sütun ekler ve öğeleri bu yeni sütunlar için 0 başlatır (varsayılan değer olan Integer, dizi öğesi türü olan).
İkinci ReDim yeni bir tane oluşturur ve uyan tüm öğeleri kopyalar.Ancak, beş sütun her katmandaki her satır sonundan kaybolur.Bu sütunlar ile işiniz, bu bir sorun değildir.Büyük bir dizi boyutunu küçültme artık gereksinim duymadığınız bellekte yer açabilirsiniz.
Üçüncü ReDim yeni bir tane oluşturur ve başka bir beş sütun her katmandaki her satırın sonuna kaldırır.Bu kez, var olan öğeleri kopyalamaz.Bu ifade diziye özgün boyutuna geri döner.İfade içermediği için Preserve değiştiricisi, bu ayarlar tüm dizi öğeleri özgün varsayılan değerlerine.
Ek örnekler için bkz. Visual Basic'de Diziler.