Udostępnij za pośrednictwem


Konwersje tablic (Visual Basic)

Typ tablicy można konwertować na typ tablicy różnych, pod warunkiem spełnienia następujących warunków:

  • Równej rangi. Rangę dwóch tablic muszą być takie same, to znaczy musi mieć taką samą liczbę wymiarów.Jednakże nie długości odpowiednie wymiary muszą być takie same.

  • Typ elementu danych. Typy danych elementów obydwie tablice muszą być typu odwołania.Nie można przekonwertować Integer tablicy do Long array, a nawet z Object tablicy, ponieważ co najmniej jedną wartość typu jest zaangażowana.Aby uzyskać więcej informacji, zobacz Typy wartości i odwołań.

  • Wymienialności. Konwersja, albo rozszerzenie lub zwężenie, musi być możliwe między rodzajami element dwóch tablic.Przykład nie powiedzie się wymóg ten jest próba konwersji między String tablicy i tablicy klasy pochodzące z Attribute.Te dwa typy mają nic wspólnego i bez konwersji dowolnego rodzaju istnieje między nimi.

Konwersja typu jednej tablicy do innego jest poszerzenie lub zwężenie w zależności od tego, czy rozszerzenie lub zwężenie konwersji odpowiednich elementów.Aby uzyskać więcej informacji, zobacz Rozszerzanie i zwężanie konwersji (Visual Basic).

Konwersja na tablicę obiektów

Kiedy zadeklarować Object jest tablica bez inicjowanie ją jej typ elementu Object tak długo, jak długo pozostaje niezainicjowany.Po ustawieniu do tablicy określonej klasy przejmuje typu klasy.Jednak jego typ podstawowy jest nadal Object, i można następnie ustawić ją na innym tablicy klasy niepowiązanych.Ponieważ wszystkie klasy pochodzić od Object, z dowolnej klasy można zmienić typu elementu tablicy, do innej klasy.

W poniższym przykładzie, konwersja nie istnieje między typami student i String, ale oba wynikają z Object, dzięki czemu wszystkie przydziały są prawidłowe.

' 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.

Typ podstawowy w tablicy

Przy deklarowaniu pierwotnie tablicę z określonej klasy, jego typ podstawowy element jest tej klasy.Jeśli można następnie ustawić go do tablicy innej klasy, musi być konwersji między dwiema klasami.

W poniższym przykładzie students jest student tablicy.Ponieważ konwersja nie występuje między String i student, ostatniego wyciągu nie powiedzie się.

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

Zobacz też

Zadania

Porady: konwertowanie obiektu do innego typu w Visual Basic

Informacje

Typ danych — Podsumowanie (Visual Basic)

Funkcje konwersji typu (Visual Basic)

Koncepcje

Typy danych w Visual Basic

Konwersje jawne i niejawne (Visual Basic)

Konwertowanie pomiędzy ciągami a innymi typami danych (Visual Basic)

Inne zasoby

Konwersje plików w Visual Basic

Tablice w Visual Basic