System::String class

String class

String class used across the library. Is a substitute for C# System.String when translating code. For optimization reasons, isn’t considered an Object subclass. This type should be allocated on stack and passed to functions by value or by reference. Never use System::SmartPtr class to manage objects of this type.

class String

Méthodes

MéthodeDescription
ASPOSECPP_VALUE_TYPE_IMPLEMENTS_INTERFACES()String est un type valeur côté C++ qui implémente implicitement (sans héritage) certaines interfaces.
begin() constRenvoie un pointeur vers le début du tampon de chaîne réel. Ne réalloue jamais rien. Ne garantit pas que le tampon soit terminé par un caractère nul.
Clone() constCrée une copie de la chaîne actuelle.
static Compare(const String&, int, const String&, int, int, bool)Less-equal-greater compare deux sous‑chaînes.
static Compare(const String&, int, const String&, int, int, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater compare deux sous‑chaînes.
static Compare(const String&, const String&, System::StringComparison)Less-equal-greater compare deux chaînes.
static Compare(const String&, int, const String&, int, int, System::StringComparison)Less-equal-greater compare deux chaînes.
static Compare(const String&, const String&, bool)Less-equal-greater compare deux chaînes.
static Compare(const String&, const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater compare deux chaînes.
static CompareOrdinal(const String&, const String&)Less-equal-greater compare deux chaînes en mode ordinal.
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greater compare deux chaînes en mode ordinal.
CompareTo(const String&) constCompare deux chaînes dans le style ’less-equals-more’. Utilise la culture actuelle.
static Concat(const ArrayPtr<String>&)Concatène des chaînes.
static Concat(const String&, const String&)Concatène des chaînes.
static Concat(const String&, const String&, const String&)Concatène des chaînes.
static Concat(const String&, const String&, const String&, const String&)Concatène des chaînes.
Contains(const String&) constVérifie si str est une sous‑chaîne de la chaîne actuelle.
Contains(char16_t) constVérifie si la chaîne contient le caractère donné.
static Copy(const String&)Crée une copie de chaîne.
CopyTo(int, const ArrayPtr<char_t>&, int, int) constCopie les caractères de la chaîne dans les éléments existants du tableau. Aucun redimensionnement n’est effectué.
end() constRenvoie un pointeur vers la fin du tampon de chaîne réel. Ne réalloue jamais rien. Ne garantit pas que le tampon soit terminé par un caractère nul.
EndsWith(const String&) constVérifie si la chaîne se termine par la sous‑chaîne spécifiée.
EndsWith(const String&, System::StringComparison) constVérifie si la chaîne se termine par la sous‑chaîne spécifiée.
EndsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constVérifie si la chaîne se termine par la sous‑chaîne spécifiée.
Equals(const String&, System::StringComparison) constComparaison d’égalité de String. Plusieurs modes fournis par l’énumération StringComparison sont pris en charge.
Equals(const String&) constComparaison d’égalité de String. Utilise le mode de comparaison System::StringComparison::Ordinal.
static Equals(const String&, const String&)Compare deux chaînes en utilisant le mode de comparaison Ordinal.
static Equals(const String&, const String&, System::StringComparison)Compare deux chaînes.
FastToAscii(char, int) constEssaie de convertir un String en chaîne ASCII.
static Format(const SharedPtr<IFormatProvider>&, const String&, const Args&…)Formate la chaîne au style C#.
static Format(std::nullptr_t, const String&, const Args&…)Formate la chaîne au style C#.
static Format(std::nullptr_t, const char16_t(&), const Args&…)Formate la chaîne au style C#.
static Format(const String&, const Args&…)Formate la chaîne au style C#.
static Format(const String&, const System::ArrayPtr<T>&)Formate la chaîne au style C#.
static FromAscii(const char *)Crée un String à partir d’une chaîne ASCII.
static FromAscii(const char *, int)Crée un String à partir d’une chaîne ASCII.
static FromAscii(const std::string&)Crée un String à partir d’une chaîne ASCII.
static FromUtf16(const std::u16string&)Crée un String à partir d’une chaîne utf16.
static FromUtf32(const uint32_t *, int32_t)Crée un String à partir d’une chaîne utf32.
static FromUtf8(const char *)Crée un String à partir d’une chaîne utf8.
static FromUtf8(const char *, int)Crée un String à partir d’une chaîne utf8.
static FromUtf8(const uint8_t *)Crée un String à partir d’une chaîne utf8.
static FromUtf8(const std::string&)Crée un String à partir d’une chaîne utf8.
static FromWCS(const std::wstring&)Crée un String à partir d’une chaîne large.
get_Length() constObtient la longueur de la chaîne.
GetHashCode() constHache la chaîne contenue. Implémenté dans ICU, ne correspond pas aux hachages en C#.
IndexOf(const String&, System::StringComparison) constRecherche avant dans la sous-chaîne.
IndexOf(char_t, int) constRecherche avant de caractère.
IndexOf(char_t, int, int) constRecherche avant de caractère dans la sous-chaîne.
IndexOf(const String&, int) constRecherche avant dans la sous-chaîne.
IndexOf(const String&, int, System::StringComparison) constRecherche avant dans la sous-chaîne.
IndexOf(const String&, int, int, System::StringComparison) constRecherche avant dans la sous-chaîne.
IndexOf(const String&, int, int) constRecherche avant dans la sous-chaîne.
IndexOfAny(char_t, int) constRecherche avant de caractère.
IndexOfAny(const String&, int) constRecherche donc tous les caractères de str dans ceci. Si le premier caractère est trouvé, sa position est renvoyée, sinon il recherche le deuxième et ainsi de suite.
IndexOfAny(const ArrayPtr<char_t>&) constRecherche n’importe lequel des caractères fournis dans toute la chaîne. Compare le premier caractère de la chaîne à tous les caractères de anyOf, puis compare le deuxième et ainsi de suite. Retourne l’index du premier correspondant à l’un des caractères cibles.
IndexOfAny(const ArrayPtr<char_t>&, int32_t) constRecherche n’importe lequel des caractères fournis dans la sous-chaîne. Compare le premier caractère de la chaîne à tous les caractères de anyOf, puis compare le deuxième et ainsi de suite. Retourne l’index du premier correspondant à l’un des caractères cibles.
IndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constRecherche n’importe lequel des caractères fournis dans la sous-chaîne. Compare le premier caractère de la chaîne à tous les caractères de anyOf, puis compare le deuxième et ainsi de suite. Retourne l’index du premier correspondant à l’un des caractères cibles.
Insert(int, const String&) constInsère la sous-chaîne à la position spécifiée.
Is(const System::TypeInfo&) constVérifie si l’objet chaîne est du type spécifié par le TypeInfo passé.
IsAsciiString() constIndique si un String ne contient que des symboles ASCII.
IsEmpty() constVérifie si la chaîne est à la fois non nulle et vide.
IsNormalized(System::Text::NormalizationForm) constVérifie si la chaîne Unicode est normalisée en utilisant la forme de normalisation spécifiée.
IsNull() constVérifie si la chaîne est considérée comme nulle. Un String est nul uniquement s’il est construit via le constructeur String(), déplacé, copié ou assigné à partir d’une chaîne nulle ou si la méthode reset() a été appelée.
IsNullOrEmpty() constVérifie si la chaîne est vide ou considérée comme nulle.
static IsNullOrEmpty(const String&)Vérifie si la chaîne passée est nulle ou vide.
static IsNullOrWhiteSpace(const String&)Indique si une chaîne spécifiée est nulle, vide ou ne contient que des caractères d’espace.
static Join(const String&, const ArrayPtr<String>&, int, int)Joint le tableau en utilisant la chaîne comme séparateur.
static Join(const String&, const System::Details::ArrayView<String>&, int, int)Joint le tableau en utilisant la chaîne comme séparateur.
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)Joint le tableau en utilisant la chaîne comme séparateur.
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)Joint le tableau en utilisant la chaîne comme séparateur.
LastIndexOf(const String&, int) constRecherche arrière de sous-chaîne.
LastIndexOf(const String&, System::StringComparison) constRecherche arrière de sous-chaîne.
LastIndexOf(const String&, int, System::StringComparison) constRecherche arrière de sous-chaîne.
LastIndexOf(const String&, int, int, StringComparison) constRecherche arrière de sous-chaîne.
LastIndexOf(char_t) constRecherche arrière de caractère.
LastIndexOf(char_t, int32_t) constRecherche arrière de caractère.
LastIndexOf(char_t, int32_t, int32_t) constRecherche arrière de caractère.
LastIndexOfAny(const ArrayPtr<char_t>&) constRecherche l’un des caractères passés dans toute la chaîne en sens inverse. Compare le dernier caractère de la chaîne à tous les caractères de anyOf, puis compare le précédent et ainsi de suite. Retourne l’index de la première correspondance trouvée.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t) constRecherche l’un des caractères passés dans la sous-chaîne en sens inverse. Compare le dernier caractère de la chaîne à tous les caractères de anyOf, puis compare le précédent et ainsi de suite. Retourne l’index de la première correspondance trouvée.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constRecherche l’un des caractères passés dans la sous-chaîne en sens inverse. Compare le dernier caractère de la chaîne à tous les caractères de anyOf, puis compare le précédent et ainsi de suite. Retourne l’index de la première correspondance trouvée.
Normalize(System::Text::NormalizationForm) constNormalise la chaîne Unicode en utilisant la forme de normalisation spécifiée.
operator!=(const String&) constOpérateur de comparaison d’inégalité.
operator!=(std::nullptr_t) constVérifie si la chaîne n’est pas nulle. Applique la même logique que l’appel IsNull().
operator+(const String&) constString opérateur de concaténation.
operator+(const T&) constString concaténation avec un littéral de chaîne ou un pointeur de chaîne de caractères.
operator+(char_t) constAjoute un caractère à la fin de la chaîne.
operator+(int) constAjoute la représentation sous forme de chaîne d’une valeur entière à la fin de la chaîne.
operator+(uint32_t) constAjoute la représentation sous forme de chaîne d’une valeur entière non signée à la fin de la chaîne.
operator+(double) constAjoute la représentation sous forme de chaîne d’une valeur à virgule flottante à la fin de la chaîne.
operator+(int64_t) constAjoute la représentation sous forme de chaîne d’une valeur entière à la fin de la chaîne.
operator+(const T&) constAjoute la représentation sous forme de chaîne d’un objet de type référence à la fin de la chaîne.
operator+(const T&) constAjoute la représentation sous forme de chaîne d’un objet de type référence à la fin de la chaîne.
operator+(T) constAjoute la représentation sous forme de chaîne d’une valeur booléenne à la fin de la chaîne.
operator+=(char_t)Opérateur d’affectation de concaténation.
operator+=(const String&)Opérateur d’affectation de concaténation.
operator+=(double)Opérateur d’affectation de concaténation.
operator+=(uint8_t)Opérateur d’affectation de concaténation.
operator+=(int16_t)Opérateur d’affectation de concaténation.
operator+=(uint16_t)Opérateur d’affectation de concaténation.
operator+=(int32_t)Opérateur d’affectation de concaténation.
operator+=(uint32_t)Opérateur d’affectation de concaténation.
operator+=(int64_t)Opérateur d’affectation de concaténation.
operator+=(uint64_t)Opérateur d’affectation de concaténation.
operator+=(T)Opérateur d’affectation de concaténation.
operator<(const String&) constCompare les chaînes par ordre.
operator=(const String&)Opérateur d’affectation.
operator=(String&&)Opérateur d’affectation par déplacement.
operator==(const String&) constOpérateur de comparaison d’égalité.
operator==(std::nullptr_t) constVérifie si la chaîne est nulle. Applique la même logique que l’appel IsNull().
operator>(const String&) constCompare les chaînes par ordre.
operator[](int) constObtient le caractère à la position spécifiée.
PadLeft(int, char_t) constAjoute un remplissage à gauche de la chaîne originale.
PadRight(int, char_t) constAjoute un remplissage à droite de la chaîne originale.
rbegin() constRenvoie un itérateur inverse vers le dernier caractère (le cas échéant) du tampon de chaîne réel.
Remove(int32_t, int32_t) constExtrait tout sauf la sous-chaîne de la chaîne actuelle.
rend() constRenvoie un itérateur inverse vers le caractère précédant le premier (le cas échéant) du tampon de chaîne réel.
Replace(char_t, char_t) constRemplace toutes les occurrences du caractère dans la chaîne.
Replace(const String&, const String&) constRemplace toutes les occurrences de la recherche dans cette chaîne.
reset()Définit la chaîne à null. Est analogue à ‘string_variable_name = null’ en C#.
SetCharAt(int, char_t)Définit le caractère à la position spécifiée.
Split(char_t, StringSplitOptions) constDivise la chaîne par caractère.
Split(char_t, int32_t, StringSplitOptions) constDivise la chaîne par caractère.
Split(char_t, char_t, StringSplitOptions) constDivise la chaîne par l’un des deux caractères.
Split(const ArrayPtr<char_t>&, StringSplitOptions) constDivise la chaîne par l’un des caractères spécifiés.
Split(const ArrayPtr<char_t>&, int32_t, StringSplitOptions) constDivise la chaîne par l’un des caractères spécifiés.
Split(const String&, StringSplitOptions) constDivise la chaîne par sous-chaîne.
Split(const String&, int, StringSplitOptions) constDivise la chaîne par sous-chaîne.
Split(const ArrayPtr<String>&, StringSplitOptions) constDivise la chaîne par sous-chaîne.
Split(const ArrayPtr<String>&, int, StringSplitOptions) constDivise la chaîne par sous-chaîne. Actuellement, ne prend en charge qu’un tableau de séparateurs contenant zéro ou un élément.
StartsWith(const String&) constVérifie si la chaîne commence par la sous-chaîne spécifiée.
StartsWith(const String&, System::StringComparison) constVérifie si la chaîne commence par la sous-chaîne spécifiée.
StartsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constVérifie si la chaîne commence par la sous-chaîne spécifiée.
String()Constructeur par défaut. Crée un objet chaîne considéré comme null.
String(T&, typename std::enable_if<IsStringLiteral<T, char16_t>::value>::type *)Construit une chaîne à partir d’un littéral de chaîne. Considère le littéral comme une chaîne terminée par null, calcule la longueur de la chaîne cible en fonction de la taille du littéral.
String(const T&, typename std::enable_if<IsStringPointer<T, char16_t>::value>::type *)Construit une chaîne à partir d’un pointeur de chaîne de caractères. Traite la chaîne pointée comme terminée par null, calcule la longueur de la chaîne cible en fonction du caractère null.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, char>::value>::type *)Construit une chaîne à partir d’un littéral de chaîne. Considère le littéral comme une chaîne terminée par null en UTF8, calcule la longueur de la chaîne cible en fonction de la taille du littéral.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, char>::value>::type *)Construit une chaîne à partir d’un pointeur de chaîne de caractères. Traite la chaîne pointée comme terminée par null en UTF8, calcule la longueur de la chaîne cible en fonction du caractère null.
String(const char16_t *, int)Construit une chaîne à partir d’un pointeur de chaîne de caractères et d’une longueur explicite.
String(const char *, int)Construit une chaîne à partir d’un pointeur de chaîne de caractères et d’une longueur explicite.
String(const char16_t *, int, int)Construit une chaîne à partir d’un pointeur de chaîne de caractères à partir de la position de départ en utilisant la longueur.
explicit String(const char16_t, int)Constructeur de remplissage.
String(const T&, typename std::enable_if<std::is_same<T, std::nullptr_t>::value>::type *)Constructeur nullptr. Déclaré comme modèle pour résoudre les priorités avec d’autres constructeurs modèles.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)Construit une chaîne à partir d’un littéral widestring. Considère le littéral comme une chaîne terminée par null, calcule la longueur de la chaîne cible en fonction de la taille du littéral. La conversion depuis wchar_t est chronophage sur certaines plates‑formes, donc aucune conversion implicite n’est autorisée.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, wchar_t>::value>::type *)Construit une chaîne à partir d’un pointeur de chaîne de caractères larges. Traite la chaîne pointée comme terminée par un caractère nul, calcule la longueur de la chaîne cible en fonction du caractère nul. La conversion depuis wchar_t est chronophage sur certaines plateformes, aucune conversion implicite n’est autorisée.
explicit String(const wchar_t *, int)Construit une chaîne à partir d’un pointeur de chaîne de caractères larges et d’une longueur explicite. La conversion depuis wchar_t est chronophage sur certaines plateformes, aucune conversion implicite n’est autorisée.
explicit String(const wchar_t, int)Constructeur de remplissage. La conversion depuis wchar_t est chronophage sur certaines plateformes, aucune conversion implicite n’est autorisée.
String(const String&)Constructeur de copie.
String(String&&)Constructeur de déplacement.
String(const ArrayPtr<char16_t>&)Convertit tout le tableau de caractères en chaîne.
String(const ArrayPtr<char16_t>&, int, int)Convertit une sous-plage d’un tableau de caractères en chaîne. Si les paramètres sont hors des limites du tableau, une chaîne vide est construite.
explicit String(const codeporting_icu::UnicodeString&)Enveloppe UnicodeString dans String.
explicit String(codeporting_icu::UnicodeString&&)Constructeur de déplacement.
explicit String(const std::wstring&)Crée un String à partir d’une chaîne large.
explicit String(const std::u16string&)Crée un String à partir d’une chaîne utf16.
explicit String(const std::string&)Crée String à partir d’une chaîne std::string présentée au format UTF-8.
explicit String(const std::u32string&)Crée String à partir d’une chaîne std::u32string.
Substring(int32_t) constExtrait une sous-chaîne.
Substring(int32_t, int32_t) constExtrait une sous-chaîne.
ToAsciiString() constConvertit la chaîne en std::string. Utilise l’encodage ASCII.
ToByteArray(int32_t, int32_t, bool) constConvertit la chaîne ou la sous-chaîne en tableau d’octets.
ToCharArray(int32_t, int32_t) constConvertit la chaîne ou la sous-chaîne en tableau de caractères.
ToLower() constConvertit tous les caractères de la chaîne en minuscules.
ToLower(const SharedPtr<System::Globalization::CultureInfo>&) constConvertit tous les caractères de la chaîne en minuscules en utilisant une culture spécifique.
ToLowerInvariant() constConvertit tous les caractères de la chaîne en minuscules en utilisant la culture invariante.
ToString() constEnveloppe pour gérer la classe String dans les contextes où ToString() est appelée sur des objets de type valeur.
ToString(const SharedPtr<IFormatProvider>&) constEnveloppe pour gérer la classe String dans les contextes où ToString() est appelée sur des objets de type valeur.
ToU16Str() constConvertit la chaîne en std::u16string.
ToU32Str() constConvertit la chaîne en std::u32string.
ToUpper() constConvertit tous les caractères de la chaîne en majuscules.
ToUpper(const SharedPtr<System::Globalization::CultureInfo>&) constConvertit tous les caractères de la chaîne en majuscules en utilisant une culture spécifique.
ToUpperInvariant() constConvertit tous les caractères de la chaîne en majuscules en utilisant la culture invariante.
ToUtf8String() constConvertit la chaîne en std::string. Utilise l’encodage UTF-8.
ToWCS() constConvertit la chaîne en std::wstring.
Trim() constSupprime tous les caractères d’espacement du début et de la fin de la chaîne.
Trim(char_t) constSupprime toutes les occurrences du caractère passé du début et de la fin de la chaîne.
Trim(const String&) constSupprime toutes les occurrences des caractères passés du début et de la fin de la chaîne.
Trim(const ArrayPtr<char_t>&) constSupprime toutes les occurrences des caractères passés du début et de la fin de la chaîne.
TrimEnd() constSupprime tous les caractères d’espace blanc de la fin de la chaîne.
TrimEnd(char_t) constSupprime toutes les occurrences du caractère passé de la fin de la chaîne.
TrimEnd(const String&) constSupprime toutes les occurrences des caractères passés de la fin de la chaîne.
TrimEnd(const ArrayPtr<char_t>&) constSupprime toutes les occurrences des caractères passés de la fin de la chaîne.
TrimStart() constSupprime tous les caractères d’espace blanc du début de la chaîne.
TrimStart(char_t) constSupprime toutes les occurrences du caractère passé du début de la chaîne.
TrimStart(const String&) constSupprime toutes les occurrences des caractères passés du début de la chaîne.
TrimStart(const ArrayPtr<char_t>&) constSupprime toutes les occurrences des caractères passés du début de la chaîne.
u_str() constRenvoie un tampon nul-terminé de style ICU. Peut réallouer la chaîne.
~String()Destructeur.

Champs

ChampDescription
static EmptyChaîne vide.
static NullChaîne nulle.

Typedefs

TypedefDescription
reverse_iteratorType d’itérateur inverse.

Remarques

#include "system/string.h"
#include <iostream>

int main()
{
  // Construit une chaîne à partir du tableau de caractères et l'imprime.
  const auto chars = {u'h', u'e', u'l', u'l', u'o'};
  const System::String string1(chars);
  std::cout << string1 << std::endl;

  // Construit une chaîne à partir du tableau d'octets et l'imprime.
  const uint8_t bytes[] = {0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0};
  const auto string2 = System::String::FromUtf8(bytes);
  std::cout << string2 << std::endl;

  // Coupez la chaîne ci‑dessous et imprimez‑la.
  const System::String string3(u"   This string contains whitespaces in the beginning and at the end.   ");
  std::cout << '"' << string3.Trim() << '"' << std::endl;

  // Imprime le nombre de mots dans le .
  std::cout << "Number of words: " << string3.Trim().Split(' ')->get_Length() << std::endl;

  return 0;
}
/*
This code example produces the following output:
hello
world
"This string contains whitespaces in the beginning and at the end."
Number of words: 11
*/

Voir aussi