Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki koşulları karşılamanız koşuluyla bir dizi türünü farklı bir dizi türüne dönüştürebilirsiniz:
Eşit Derece. İki dizinin dereceleri aynı olmalıdır, yani aynı sayıda boyuta sahip olmalıdır. Ancak, ilgili boyutların uzunluklarının aynı olması gerekmez.
Öğe Veri Türü. Her iki dizinin öğelerinin veri türleri başvuru türleri olmalıdır.
Integertüründeki bir diziyiLongtüründeki bir diziye, hattaObjecttüründeki bir diziye dönüştüremezsiniz çünkü en az bir değer türü söz konusu. Daha fazla bilgi için bkz. Değer Türleri ve Başvuru Türleri.Dönüştürülebilirlik. İki dizinin öğe türleri arasında bir genişletme veya daraltma dönüşümünün mümkün olması gerekir. Bir
Stringdizisi ile System.Attribute'den türetilen bir sınıfın dizisi arasında yapılan bir dönüştürme girişimi, bu gereksinimi karşılayamayan bir örnektir. Bu iki türün ortak bir yanı yoktur ve aralarında hiçbir dönüştürme yoktur.
Bir dizi türünün başka bir dizi türüne dönüştürülmesi, ilgili öğelerin dönüştürülmesinin genişletme veya daraltma durumuna bağlı olarak genişletme veya daraltma olarak gerçekleşir. Daha fazla bilgi için bkz. Genişletme ve Daraltma Dönüştürmeleri.
Nesne Dizisine Dönüştürme
Bir Object dizisini başlatmadan bildirdiğinizde, öğe türü başlatılmamış olduğu sürece Object şeklinde kalır. Bunu belirli bir sınıfın dizisine ayarladığınızda, bu sınıfın türünü alır. Ancak, temel türü hala Object'dir ve daha sonra ilgisiz bir sınıfın başka bir dizisine ayarlayabilirsiniz. Tüm sınıflar öğesinden türetildiklerinden Object, dizinin öğe türünü herhangi bir sınıftan başka bir sınıfa değiştirebilirsiniz.
Aşağıdaki örnekte, student ve String türleri arasında dönüştürme yoktur, ancak her ikisi de Object türünden türetilir, bu nedenle tüm atamalar geçerlidir.
' Assume student has already been defined as a class.
Dim testArray() As Object
' testArray is still an Object array at this point.
Dim names() As String = New String(3) {"Name0", "Name1", "Name2", "Name3"}
testArray = New student(3) {}
' testArray is now of type student().
testArray = names
' testArray is now a String array.
Dizinin Temel Türü
Başlangıçta belirli bir sınıfa sahip bir dizi bildirirseniz, temel alınan öğe türü bu sınıftır. Bunu daha sonra başka bir sınıfın dizisine ayarlarsanız, iki sınıf arasında bir dönüştürme olmalıdır.
Aşağıdaki örnekte, students bir student dizisidir. Arasında String ile student hiçbir dönüştürme olmadığından, son ifade başarısız olur.
Dim students() As student
Dim names() As String = New String(3) {"Name0", "Name1", "Name2", "Name3"}
students = New Student(3) {}
' The following statement fails at compile time.
students = names