Nasıl yapılır: kesin olarak belirtilmiş bir dizi Visual Basic 2005 veya Visual Basic .NET kullanarak ToArray(type) yönteminden dönün...

Makale çevirileri Makale çevirileri
Makale numarası: 312389 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, Microsoft Visual Basic 2005 veya Microsoft Visual Basic. NET'te kesinlikle yazılan bir dizi ToArray(type) yönteminden dönmek için nasıl kullanılır. Option Strict On ayarlarsanız, bu makalede, Visual Basic 2005 veya Visual Basic .NET için geçerlidir. Option Strict kapalı ayarlarsanız, Visual Basic, makalede açıklanan örtülü dönü?türme sağlar.

ArrayList sınıfını parametre-suz ToArray yöntemi, nesne türü bir dizi döndürür. Parametre-suz ToArray uygulaması, bir dizi türü için nesne dizi atama için kullanamazsınız. Bir Müşteri nesne sayısı, bir ArrayList eklerseniz, örneğin, alttaki liste Müşteri bir dizi yapıldı değil. Bu durum, aşağıdaki ifadeyi System.InvalidCastException durumla başarısız olmasına neden olur.
Dim custArray() As customer = CType(myArrayList.ToArray(), customer())
				
Kesinlikle yazılan bir dizi dönmek için <a0></a0>, bir nesne türünde bir parametre kabul eden aşırı yüklü ToArray yöntemi kullanın.. Örneğin, aşağıdaki ifadeyi başarılı olur.
Dim custArray() As customer = CType(al.ToArray(GetType(customer)), customer())
				
ÖnemliArrayList, tüm öğeler, aynı nesne türü olmalıdır. Türdeş olmayan nesnelerin belirli bir tür bir ArrayList artığını denerseniz ToArray yöntem başarısız olur.

Adım adım örnek

  1. Yeni bir konsol uygulaması) projesi, Visual Basic 2005 veya Visual Basic .NET kullanarak başlatın. Varsayılan olarak, Module1.vb adlı bir dosya oluşturulur.
  2. Module1.vb kodu aşağıdaki kodla değiştirin.
    Option Strict On
    
    Module Module1
    
    
        Sub Main()
            Dim tempCust As customer
            Dim c As New customer()
            c.cname = "anonymous"
    
            Dim al As New ArrayList()
            al.Add(c)
            Dim cArray As Object() = al.ToArray()
            'Display the type of the ArrayList.
            Console.WriteLine(cArray.GetType)
    
            'Uncomment the next line to reproduce the InvalidCastException.
            'Dim custArray() As customer = CType(al.ToArray(), customer())
    
            'Comment the next line to reproduce the InvalidCastException.
            Dim custArray() As customer = CType(al.ToArray(GetType(customer)), customer())
    
            Console.WriteLine(custArray.GetType)
    
        End Sub
    
        Public Class customer
            Public cname As String
        End Class
    
    End Module
    					
  3. Projeyi çalıştırın ve CTRL + F5 tuşuna basın. (CTRL + F5, konsol penceresi açık kalmasına izin verir.)
  4. ınvalidcastexception özel durum oluşturmak için <a0></a0>, örnek kod içinde yorum iki yönergeleri izleyin.

Özellikler

Makale numarası: 312389 - Last Review: 24 Şubat 2014 Pazartesi - Gözden geçirme: 3.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB312389 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:312389

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com