System::String klass

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

Metoder

MetodBeskrivning
begin() constReturnerar pekare till början av den faktiska strängbufferten. Allokerar aldrig om något. Garanterar inte att bufferten är null-terminerad.
Clone() constSkapar en kopia av den aktuella strängen.
static Compare(const String&, int, const String&, int, int, bool)Less-equal-greater-jämför två delsträngar.
static Compare(const String&, int, const String&, int, int, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-jämför två delsträngar.
static Compare(const String&, const String&, System::StringComparison)Less-equal-greater-jämför två strängar.
static Compare(const String&, int, const String&, int, int, System::StringComparison)Less-equal-greater-jämför två strängar.
static Compare(const String&, const String&, bool)Less-equal-greater-jämför två strängar.
static Compare(const String&, const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-jämför två strängar.
static CompareOrdinal(const String&, const String&)Less-equal-greater-jämför två strängar med ordinalt läge.
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greater-jämför två strängar med ordinalt läge.
CompareTo(const String&) constJämför två strängar i ’less-equals-more’-stil. Använder aktuell kultur.
static Concat(const ArrayPtr<String>&)Konkatenar strängar.
static Concat(const String&, const String&)Konkatenar strängar.
static Concat(const String&, const String&, const String&)Konkatenar strängar.
static Concat(const String&, const String&, const String&, const String&)Konkatenar strängar.
Contains(const String&) constKontrollerar om str är en delsträng av den aktuella strängen.
Contains(char16_t) constKontrollerar om strängen innehåller angivet tecken.
static Copy(const String&)Skapar en strängkopia.
CopyTo(int, const ArrayPtr<char_t>&, int, int) constKopierar tecken från strängen till befintliga array‑element. Ingen storleksändring sker.
end() constReturnerar pekare till slutet av den faktiska strängbufferten. Allokerar aldrig om något. Garanterar inte att bufferten är null-terminerad.
EndsWith(const String&) constKontrollerar om strängen slutar med angiven delsträng.
EndsWith(const String&, System::StringComparison) constKontrollerar om strängen slutar med angiven delsträng.
EndsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constKontrollerar om strängen slutar med angiven delsträng.
Equals(const String&, System::StringComparison) constString likhetsjämförelse. Flera lägen som tillhandahålls av uppräkningen StringComparison stöds.
Equals(const String&) constString likhetsjämförelse. Använder jämförelseläget System::StringComparison::Ordinal.
static Equals(const String&, const String&)Jämför två strängar med likhet med Ordinal jämförelseläge.
static Equals(const String&, const String&, System::StringComparison)Jämför två strängar med likhet.
FastToAscii(char, int) constFörsöker konvertera en String till en ASCII-sträng.
static Format(const SharedPtr<IFormatProvider>&, const String&, const Args&…)Formaterar sträng i C#-stil.
static Format(std::nullptr_t, const String&, const Args&…)Formaterar sträng i C#-stil.
static Format(std::nullptr_t, const char16_t(&), const Args&…)Formaterar sträng i C#-stil.
static Format(const String&, const Args&…)Formaterar sträng i C#-stil.
static Format(const String&, const System::ArrayPtr<T>&)Formaterar sträng i C#-stil.
static FromAscii(const char *)Skapar String från en ASCII-sträng.
static FromAscii(const char *, int)Skapar String från en ASCII-sträng.
static FromAscii(const std::string&)Skapar String från en ASCII-sträng.
static FromUtf16(const std::u16string&)Skapar String från en utf16-sträng.
static FromUtf32(const uint32_t *, int32_t)Skapar String från en utf32-sträng.
static FromUtf8(const char *)Skapar String från en utf8-sträng.
static FromUtf8(const char *, int)Skapar String från en utf8-sträng.
static FromUtf8(const uint8_t *)Skapar String från en utf8-sträng.
static FromUtf8(const std::string&)Skapar String från en utf8-sträng.
static FromWCS(const std::wstring&)Skapar String från en widestring.
get_Length() constHämtar stränglängd.
GetHashCode() constHashar den innehållna strängen. Implementerad i ICU, matchar inte hashvärden i C#.
IndexOf(const String&, System::StringComparison) constFramåtsökning i delsträng.
IndexOf(char_t, int) constFramåtsökning av tecken.
IndexOf(char_t, int, int) constFramåtsökning av tecken i delsträng.
IndexOf(const String&, int) constFramåtsökning i delsträng.
IndexOf(const String&, int, System::StringComparison) constFramåtsökning i delsträng.
IndexOf(const String&, int, int, System::StringComparison) constFramåtsökning i delsträng.
IndexOf(const String&, int, int) constFramåtsökning i delsträng.
IndexOfAny(char_t, int) constFramåtsökning av tecken.
IndexOfAny(const String&, int) constSöker därför efter alla tecken i str i detta. Om det första tecknet hittas returneras dess position, annars söks efter det andra och så vidare.
IndexOfAny(const ArrayPtr<char_t>&) constSöker efter någon av de överförda tecknen i hela strängen. Jämför det första tecknet i strängen med alla tecken i anyOf, sedan jämförs det andra och så vidare. Returnerar index för det första som matchar någon av måltecknen.
IndexOfAny(const ArrayPtr<char_t>&, int32_t) constSöker efter någon av de överförda tecknen i delsträngen. Jämför det första tecknet i strängen med alla tecken i anyOf, sedan jämförs det andra och så vidare. Returnerar index för det första som matchar någon av måltecknen.
IndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constSöker efter någon av de överförda tecknen i delsträngen. Jämför det första tecknet i strängen med alla tecken i anyOf, sedan jämförs det andra och så vidare. Returnerar index för det första som matchar någon av måltecknen.
Insert(int, const String&) constInfogar delsträng på angiven position.
Is(const System::TypeInfo&) constKontrollerar om strängobjektet är av den typ som anges av den överförda TypeInfo.
IsAsciiString() constAnger om en String endast innehåller ASCII-symboler.
IsEmpty() constKontrollerar om strängen både är icke-null och tom.
IsNormalized(System::Text::NormalizationForm) constKontrollerar om en Unicode-sträng är normaliserad med den angivna normaliseringsformen.
IsNull() constKontrollerar om strängen anses vara null. String är null endast om den konstruerats via String()‑konstruktorn, flyttats, kopierats eller tilldelats från en null‑sträng eller om reset()‑metoden har anropats.
IsNullOrEmpty() constKontrollerar om strängen är tom eller anses vara null.
static IsNullOrEmpty(const String&)Kontrollerar om den överförda strängen är null eller tom.
static IsNullOrWhiteSpace(const String&)Anger om en specificerad sträng är null, tom eller endast består av blankstegstecken.
static Join(const String&, const ArrayPtr<String>&, int, int)Sammanfogar en array med strängen som avgränsare.
static Join(const String&, const System::Details::ArrayView<String>&, int, int)Sammanfogar en array med strängen som avgränsare.
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)Sammanfogar en array med strängen som avgränsare.
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)Sammanfogar en array med strängen som avgränsare.
LastIndexOf(const String&, int) constSökning bakåt i delsträng.
LastIndexOf(const String&, System::StringComparison) constSökning bakåt i delsträng.
LastIndexOf(const String&, int, System::StringComparison) constSökning bakåt i delsträng.
LastIndexOf(const String&, int, int, StringComparison) constSökning bakåt i delsträng.
LastIndexOf(char_t) constSökning bakåt i tecken.
LastIndexOf(char_t, int32_t) constSökning bakåt i tecken.
LastIndexOf(char_t, int32_t, int32_t) constSökning bakåt i tecken.
LastIndexOfAny(const ArrayPtr<char_t>&) constSöker efter någon av de överförda tecknen i hela strängen baklänges. Jämför sista tecken i strängen med alla tecken i anyOf, sedan föregående tecken och så vidare. Returnerar index för den första matchen som hittas.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t) constSöker efter någon av de överförda tecknen i delsträngen baklänges. Jämför sista tecken i strängen med alla tecken i anyOf, sedan föregående tecken och så vidare. Returnerar index för den första matchen som hittas.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constSöker efter någon av de överförda tecknen i delsträngen baklänges. Jämför sista tecken i strängen med alla tecken i anyOf, sedan föregående tecken och så vidare. Returnerar index för den första matchen som hittas.
Normalize(System::Text::NormalizationForm) constNormaliserar Unicode-sträng med den angivna normaliseringsformen.
operator ReadOnlySpan< char16_t >() constKonverterar strängen till ett skrivskyddat span.
operator!=(const String&) constIcke‑likhetsoperator.
operator!=(std::nullptr_t) constKontrollerar om strängen inte är null. Använder samma logik som anropet IsNull().
operator+(const String&) constString sammanslagningsoperator.
operator+(const T&) constString sammanslagning med strängliteral eller teckensträngspointer.
operator+(char_t) constLägger till ett tecken i slutet av strängen.
operator+(int) constLägger till heltalsvärdets strängrepresentation i slutet av strängen.
operator+(uint32_t) constLägger till det osignerade heltalsvärdets strängrepresentation i slutet av strängen.
operator+(double) constLägger till flyttalsvärdets strängrepresentation i slutet av strängen.
operator+(int64_t) constLägger till heltalsvärdets strängrepresentation i slutet av strängen.
operator+(const T&) constLägger till referenstypobjektets strängrepresentation i slutet av strängen.
operator+(const T&) constLägger till referenstypobjektets strängrepresentation i slutet av strängen.
operator+(T) constLägger till booleskt värdes strängrepresentation i slutet av strängen.
operator+=(char_t)Sammanslagningstilldelningsoperator.
operator+=(const String&)Sammanslagningstilldelningsoperator.
operator+=(double)Sammanslagningstilldelningsoperator.
operator+=(uint8_t)Sammanslagningstilldelningsoperator.
operator+=(int16_t)Sammanslagningstilldelningsoperator.
operator+=(uint16_t)Sammanslagningstilldelningsoperator.
operator+=(int32_t)Sammanslagningstilldelningsoperator.
operator+=(uint32_t)Sammanslagningstilldelningsoperator.
operator+=(int64_t)Sammanslagningstilldelningsoperator.
operator+=(uint64_t)Sammanslagningstilldelningsoperator.
operator+=(T)Sammanslagningstilldelningsoperator.
operator<(const String&) constJämför strängar i ordning.
operator=(const String&)Tilldelningsoperator.
operator=(String&&)Flyttilldelningsoperator.
operator==(const String&) constLikhetsoperator.
operator==(std::nullptr_t) constKontrollerar om strängen är null. Tillämpar samma logik som IsNull() anrop.
operator>(const String&) constJämför strängar i ordning.
operator[](int) constHämtar tecken på angiven position.
PadLeft(int, char_t) constLägger till utfyllnad till vänster om originalsträngen.
PadRight(int, char_t) constLägger till utfyllnad till höger om originalsträngen.
rbegin() constReturnerar omvänd iterator till det sista tecknet (om något) i den faktiska strängbufferten.
Remove(int32_t, int32_t) constExtraherar allt utom delsträngen från den aktuella strängen.
rend() constReturnerar omvänd iterator till före det första tecknet (om något) i den faktiska strängbufferten.
Replace(char_t, char_t) constErsätter alla förekomster av tecknet i strängen.
Replace(const String&, const String&) constErsätter alla förekomster av sökningen i denna sträng.
reset()Sätter strängen till null. Är analogt med ‘string_variable_name = null’ i C#.
SetCharAt(int, char_t)Sätter tecken på angiven position.
Split(char_t, StringSplitOptions) constDelar strängen efter tecken.
Split(char_t, int32_t, StringSplitOptions) constDelar strängen efter tecken.
Split(char_t, char_t, StringSplitOptions) constDelar strängen efter ett av två tecken.
Split(const ArrayPtr<char_t>&, StringSplitOptions) constDelar strängen efter ett av de angivna tecknen.
Split(const ArrayPtr<char_t>&, int32_t, StringSplitOptions) constDelar strängen efter ett av de angivna tecknen.
Split(const String&, StringSplitOptions) constDelar strängen efter delsträng.
Split(const String&, int, StringSplitOptions) constDelar strängen efter delsträng.
Split(const ArrayPtr<String>&, StringSplitOptions) constDelar strängen efter delsträng.
Split(const ArrayPtr<String>&, int, StringSplitOptions) constDelar strängen efter delsträng. För närvarande stöds endast separatorarray med noll eller ett element.
StartsWith(const String&) constKontrollerar om strängen börjar med den angivna delsträngen.
StartsWith(const String&, System::StringComparison) constKontrollerar om strängen börjar med den angivna delsträngen.
StartsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constKontrollerar om strängen börjar med den angivna delsträngen.
String()Standardkonstruktor. Skapar ett strängobjekt som betraktas som null.
String(T&, typename std::enable_if<IsStringLiteral<T, char16_t>::value>::type *)Konstruerar en sträng baserat på en strängliteral. Betraktar litteralen som en nullterminerad sträng, beräknar målsträngens längd baserat på litteralens storlek.
String(const T&, typename std::enable_if<IsStringPointer<T, char16_t>::value>::type *)Konstruerar en sträng baserat på en teckensträngspekare. Behandlar den pekade strängen som nullterminerad, beräknar målsträngens längd baserat på nulltecknet.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, char>::value>::type *)Konstruerar en sträng baserat på en strängliteral. Betraktar litteralen som en nullterminerad sträng i UTF‑8, beräknar målsträngens längd baserat på litteralens storlek.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, char>::value>::type *)Konstruerar en sträng baserat på en teckensträngspekare. Behandlar den pekade strängen som nullterminerad i UTF‑8, beräknar målsträngens längd baserat på nulltecknet.
String(const char16_t *, int)Konstruerar en sträng från en teckensträngspekare och explicit längd.
String(const ReadOnlySpan<char16_t>&)Initierar en ny instans av klassen System.String till Unicode-tecknen som anges i det specificerade skrivskyddade intervallet.
String(const char *, int)Konstruerar en sträng från en teckensträngspekare och explicit längd.
String(const char16_t *, int, int)Konstruerar en sträng från en teckensträngspekare från startposition med angiven längd.
explicit String(const char16_t, int)Fyllkonstruktor.
String(const T&, typename std::enable_if<std::is_same<T, std::nullptr_t>::value>::type *)Nullptr-konstruktor. Deklarerad som mall för att lösa prioriteringar med andra mallkonstruktorer.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)Skapar en sträng baserad på widestring-literal. Betraktar litteralen som en nullterminerad sträng, beräknar målsträngens längd baserat på litteralens storlek. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, wchar_t>::value>::type *)Skapar en sträng baserad på pekare till widecharacter-sträng. Behandlar den pekade strängen som nullterminerad, beräknar målsträngens längd baserat på nulltecknet. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
explicit String(const wchar_t *, int)Skapar en sträng från pekare till widecharacter-sträng och explicit längd. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
explicit String(const wchar_t, int)Fyllkonstruktor. Konvertering från wchar_t är tidskrävande på vissa plattformar, så inga implicita konverteringar tillåts.
String(const String&)Kopieringskonstruktor.
String(String&&)Flyttkonstruktor.
String(const ArrayPtr<char16_t>&)Konverterar hela teckenarrayen till en sträng.
String(const ArrayPtr<char16_t>&, int, int)Konverterar ett delintervall av teckenarrayen till en sträng. Om parametrarna ligger utanför arrayens gränser, skapas en tom sträng.
explicit String(const codeporting_icu::UnicodeString&)Omsluter UnicodeString i String.
explicit String(codeporting_icu::UnicodeString&&)Flyttkonstruktor.
explicit String(const std::wstring&)Skapar String från en widestring.
explicit String(const std::u16string&)Skapar String från en utf16-sträng.
explicit String(const std::string&)Skapar String från std::string‑sträng presenterad i UTF‑8‑format.
explicit String(const std::u32string&)Skapar String från std::u32string‑sträng.
Substring(int32_t) constExtraherar delsträng.
Substring(int32_t, int32_t) constExtraherar delsträng.
ToAsciiString() constKonverterar sträng till std::string. Använder ASCII‑kodning.
ToByteArray(int32_t, int32_t, bool) constKonverterar sträng eller delsträng till en bytearray.
ToCharArray(int32_t, int32_t) constKonverterar sträng eller delsträng till en teckenarray.
ToLower() constKonverterar alla tecken i strängen till gemener.
ToLower(const SharedPtr<System::Globalization::CultureInfo>&) constKonverterar alla tecken i strängen till gemener med specifik kultur.
ToLowerInvariant() constKonverterar alla tecken i strängen till gemener med invariant kultur.
ToString() constOmslag för att hantera String-klassen i sammanhang där ToString() anropas på värdetypobjekt.
ToString(const SharedPtr<IFormatProvider>&) constOmslag för att hantera String-klassen i sammanhang där ToString() anropas på värdetypobjekt.
ToU16Str() constKonverterar sträng till std::u16string.
ToU32Str() constKonverterar sträng till std::u32string.
ToUpper() constKonverterar alla tecken i strängen till versaler.
ToUpper(const SharedPtr<System::Globalization::CultureInfo>&) constKonverterar alla tecken i strängen till versaler med specifik kultur.
ToUpperInvariant() constKonverterar alla tecken i strängen till versaler med invariant kultur.
ToUtf8String() constKonverterar sträng till std::string. Använder UTF‑8‑kodning.
ToWCS() constKonverterar sträng till std::wstring.
Trim() constTar bort alla blankstegstecken från både början och slutet av strängen.
Trim(char_t) constTar bort alla förekomster av det angivna tecknet från både början och slutet av strängen.
Trim(const String&) constTar bort alla förekomster av de angivna tecknen från både början och slutet av strängen.
Trim(const ArrayPtr<char_t>&) constTar bort alla förekomster av de angivna tecknen från både början och slutet av strängen.
TrimEnd() constTar bort alla blankstegstecken från slutet av strängen.
TrimEnd(char_t) constTar bort alla förekomster av det angivna tecknet från slutet av strängen.
TrimEnd(const String&) constTar bort alla förekomster av de angivna tecknen från slutet av strängen.
TrimEnd(const ArrayPtr<char_t>&) constTar bort alla förekomster av de angivna tecknen från slutet av strängen.
TrimStart() constTar bort alla blankstegstecken från början av strängen.
TrimStart(char_t) constTar bort alla förekomster av det angivna tecknet från början av strängen.
TrimStart(const String&) constTar bort alla förekomster av de angivna tecknen från början av strängen.
TrimStart(const ArrayPtr<char_t>&) constTar bort alla förekomster av de angivna tecknen från början av strängen.
u_str() constReturnerar en ICU‑stil nullterminerad buffert. Kan omallokera strängen.
~String()Destruktor.

Fält

FältBeskrivning
static EmptyTom sträng.
static NullNullsträng.

Typedefs

TypedefBeskrivning
reverse_iteratorOmvänd iterator-typ.

Anmärkningar

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

int main()
{
  // Konstruera en sträng från teckenarrayen och skriv ut den.
  const auto chars = {u'h', u'e', u'l', u'l', u'o'};
  const System::String string1(chars);
  std::cout << string1 << std::endl;

  // Konstruera en sträng från bytearrayen och skriv ut den.
  const uint8_t bytes[] = {0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0};
  const auto string2 = System::String::FromUtf8(bytes);
  std::cout << string2 << std::endl;

  // Trimma strängen nedan och skriv ut den.
  const System::String string3(u"   This string contains whitespaces in the beginning and at the end.   ");
  std::cout << '"' << string3.Trim() << '"' << std::endl;

  // Skriv ut antalet ord i .
  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
*/

Se även