Udostępnij za pomocą


Jak przypisać jedną tablicę do innej tablicy (Visual Basic)

Ponieważ tablice są obiektami, można ich używać w instrukcjach przypisania, takich jak inne typy obiektów. Zmienna tablicowa przechowuje wskaźnik do danych tworzących elementy tablicy oraz informacje o randze i długości, a przy przypisaniu kopiowany jest tylko ten wskaźnik.

Aby przypisać jedną tablicę do innej tablicy

  1. Upewnij się, że dwie tablice mają tę samą rangę (liczbę wymiarów) i zgodne typy danych elementów.

  2. Użyj standardowej instrukcji przypisania, aby przypisać tablicę źródłową do tablicy docelowej. Nie należy dodawać nawiasów po nazwach tablic.

    Dim formArray() As System.Windows.Forms.Form
    Dim controlArray() As System.Windows.Forms.Control
    controlArray = formArray
    

Po przypisaniu jednej tablicy do innej obowiązują następujące reguły:

  • Równe rangi. Ranga (liczba wymiarów) tablicy docelowej musi być taka sama jak w przypadku tablicy źródłowej.

    Pod warunkiem, że rangi dwóch tablic są równe, wymiary nie muszą być równe. Liczba elementów w danym wymiarze może ulec zmianie podczas przypisywania.

  • Typy elementów. Obie tablice muszą mieć elementy typu odwołania lub obie tablice muszą mieć elementy typu wartości . Aby uzyskać więcej informacji, zobacz Typy wartości i typy referencyjne.

    • Jeśli obie tablice mają elementy typu wartości, typy danych elementu muszą być dokładnie takie same. Jedynym wyjątkiem jest to, że można przypisać tablicę elementów Enum do tablicy typu podstawowego Enum.

    • Jeśli obie tablice mają elementy typu odwołania, typ elementu źródłowego musi wywodzić się z typu elementu docelowego. W takim przypadku obie tablice i ich elementy mają tę samą relację dziedziczenia. Jest to nazywane kowariancją tablicy.

Kompilator zgłasza błąd, jeśli powyższe reguły zostaną naruszone, na przykład jeśli typy danych nie są zgodne lub klasyfikacje są nierówne. Możesz dodać obsługę błędów do kodu, aby upewnić się, że tablice są zgodne przed podjęciem próby przypisania. Możesz również użyć słowa kluczowego TryCast Operator , jeśli chcesz uniknąć zgłaszania wyjątku.

Zobacz także