Dans la programmation actuelle, les tableaux sont des objets très utilisés. Comme Array, List, etc., ce sont tous des encapsulations de tableaux.
Jetons un coup d'œil aux deux méthodes de définition suivantes. Pouvons-nous voir la différence entre elles ?
Dim tB1() en octet
Dim tB2() Comme Octet = {}
Ces deux éléments définissent un tableau d'octets et il n'y a aucun élément dans le tableau.
Mais la différence est visible dans les deux phrases suivantes.
Debug.Print (tB1 n'est rien)
Debug.Print (tB2 n'est rien)
Le résultat de la première phrase est Vrai et le résultat de la deuxième phrase est Faux. Notez que tB1 est un tableau mais n'a pas été initialisé, ce qui équivaut à Nothing. Bien qu'il ne contienne aucun élément, il a été initialisé et n'est pas équivalent à Nothing. Vous pouvez accéder à d'autres propriétés de tB2, telles que. Longueur, et le résultat est 0, indiquant qu'il s'agit d'un tableau vide. L'accès à d'autres attributs de tB1, tels que la longueur, entraînera une erreur.
Il existe encore des différences entre les tableaux vides et les tableaux non initialisés à de nombreux endroits.
Par exemple:
Debug.Print(System.Text.Encoding.Default.GetString(tB1))
Debug.Print(System.Text.Encoding.Default.GetString(tB2))
Bien qu'il n'y ait aucun élément dans tB1 et tB2, le système lèvera une exception car tB1 n'est pas initialisé. Bien que tB2 n'ait aucun élément, il représente un tableau avec 0 élément. Le système ne lancera pas d'exception et ne renverra pas de chaîne vide.
On peut voir qu'il y a toujours une différence entre Nothing et un tableau de 0 éléments. C'est quelque chose que nous négligeons facilement.