String, type de données (Visual Basic)

Contient des séquences de points de code 16 bits (2 octets) non signés dont la valeur est comprise entre 0 et 65535. Chaque point de code ou code de caractère représente un caractère Unicode unique. Une chaîne peut contenir de 0 à environ deux milliards (2^31) de caractères Unicode.

Notes

Utilisez le type de données String pour contenir plusieurs caractères sans la surcharge de gestion du tableau de Char(), un tableau d’éléments Char.

La valeur par défaut de String est Nothing (référence null). Notez que cela n’est pas identique à la chaîne vide (valeur "").

Caractères Unicode

Les 128 premiers points de code (0 à 127) d’Unicode correspondent aux lettres et aux symboles d’un clavier américain standard. Ces 128 premiers points de code sont identiques à ceux définis par le jeu de caractères ASCII. Les 128 points de code suivants (128 à 255) représentent des caractères spéciaux, tels que des lettres alphabétiques latines, des accents, des symboles monétaires et des fractions. Unicode utilise les points de code restants (256-65535) pour une grande variété de symboles. Cela inclut des caractères textuels, des diacritiques et des symboles mathématiques et techniques dans le monde entier.

Vous pouvez utiliser des méthodes telles que IsDigit et IsPunctuation sur un caractère individuel dans une variable String pour déterminer sa classification Unicode.

Exigences relatives au format

Vous devez placer un littéral String entre guillemets (" "). Si vous devez inclure un guillemet comme l’un des caractères de la chaîne, vous utilisez deux guillemets contigus (""). L'exemple suivant illustre ce comportement.

Dim j As String = "Joe said ""Hello"" to me."  
Dim h As String = "Hello"  
' The following messages all display the same thing:  
' "Joe said "Hello" to me."  
MsgBox(j)  
MsgBox("Joe said " & """" & h & """" & " to me.")  
MsgBox("Joe said """ & h & """ to me.")  

Notez que les guillemets contigus qui représentent un guillemet dans la chaîne sont indépendants des guillemets qui commencent et terminent le littéral String.

Manipulations de chaînes

Une fois que vous affectez une chaîne à une variable String, cette chaîne est immuable, ce qui signifie que vous ne pouvez pas modifier sa longueur ou son contenu. Lorsque vous modifiez une chaîne de quelque manière que ce soit, Visual Basic crée une chaîne et abandonne la précédente. La variable String pointe ensuite vers la nouvelle chaîne.

Vous pouvez manipuler le contenu d’une variable String à l’aide de diverses fonctions de chaîne. L'exemple ci-dessous illustre la fonction Left

Dim S As String = "Database"  
' The following statement sets S to a new string containing "Data".  
S = Microsoft.VisualBasic.Left(S, 4)  

Une chaîne créée par un autre composant peut être remplie d’espaces de début ou de fin. Si vous recevez une telle chaîne, vous pouvez utiliser les fonctions Trim, LTrimet RTrim pour supprimer ces espaces.

Pour plus d’informations sur les manipulations de chaînes, consultez Chaînes.

Conseils de programmation

  • Nombres négatifs. N’oubliez pas que les caractères détenus par String ne sont pas signés et ne peuvent pas représenter des valeurs négatives. Dans tous les cas, vous ne devez pas utiliser String pour contenir des valeurs numériques.

  • Considérations sur l'interopérabilité. Si vous utilisez des composants non écrits pour le .NET Framework, par exemple des objets Automation ou COM, n’oubliez pas que les caractères de chaîne possèdent une largeur de données différente (8 bits) dans les autres environnements. Si vous transmettez un argument de chaîne de 8 bits à un tel composant, déclarez-le comme Byte(), un tableau d’éléments Byte, au lieu de String dans votre nouveau code Visual Basic.

  • Caractères de type. L’ajout du caractère de type identificateur $ à un identificateur force ce dernier en type de données String. String ne possède pas de caractère de type littéral. Toutefois, le compilateur traite les littéraux placés entre guillemets (" ") comme String.

  • Type .NET Framework. Le type correspondant dans le .NET Framework est la classe System.String.

Voir aussi