Comment : créer un tableau avec des types d'élément mixtes
Mise à jour : novembre 2007
Vous devez déclarer uniquement un type de données pour un tableau, et tous ses éléments doivent correspondre à ce type de données. Normalement cette limitation est souhaitable puisque tous les éléments sont étroitement liés entre eux et possèdent des valeurs de types semblables. Toutefois, les éléments ne sont pas toujours étroitement liés entre eux ou n'ont pas de valeurs semblables. Dans ce cas, vous pouvez déclarer les éléments de tableau pour qu'ils soient de Object, type de données et les éléments individuels peuvent pointer sur différents types de données, tels que des nombres, des caractères, des chaînes, des objets et d'autres tableaux.
Pour créer un tableau avec des éléments de types de données différents
Déclarez le tableau comme Object. L'exemple suivant déclare une variable destinée à contenir un tableau d'éléments Object, crée le tableau et l'assigne à la variable.
Dim mixedTypes As Object() = New Object() {}
Lorsque vous utilisez le type de données Object, n'oubliez pas que les performances ne sont pas aussi efficaces que lorsque vous utilisez un type de données plus spécifique. En effet, l'exécution doit convertir les données entre son type de données naturel et Object à l'aide d'opérations appelées des conversion boxing et unboxing. Ce traitement supplémentaire peut nuire à vos performances s'il a lieu souvent.
Pour accéder aux éléments de types de données différents dans un tableau
Lisez ou écrivez les éléments normalement. Vous pouvez stocker et extraire un élément de n'importe quel type de données dans un tableau Object.
L'exemple suivant montre comment insérer des informations de types de données différents dans un tableau Object. Il stocke des informations d'employé dans le tableau dans la variable employeeData.
Dim employeeData(3) As Object employeeData(0) = "Alex Hankin" employeeData(1) = "4242 Maple Street" employeeData(2) = 48 employeeData(3) = #8/23/1956#
Pour extraire des informations de types de données différents d'un tableau Object, vous pouvez convertir un élément en type de données approprié, comme le montre l'exemple suivant.
Dim age As Integer = CInt(employeeData(2)) Dim birthDate as Date = CDate(employeeData(3))
Dans une situation où les éléments ne sont pas semblables ou ne sont pas liés entre eux, une autre possibilité consiste à les mettre dans une collection au lieu d'un tableau Object. Pour plus d'informations, consultez Collections en tant qu'alternative aux tableaux.
Voir aussi
Tâches
Comment : déclarer une variable tableau
Comment : créer un tableau à plusieurs dimensions
Comment : créer un tableau de tableaux
Comment : créer un tableau sans éléments
Comment : initialiser une variable tableau
Concepts
Vue d'ensemble des tableaux dans Visual Basic
Collections en tant qu'alternative aux tableaux