فئة System::String

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

الطرق

طريقةالوصف
ASPOSECPP_VALUE_TYPE_IMPLEMENTS_INTERFACES()String هو نوع قيمة على جانب C++ والذي يطبق ضمنياً (بدون وراثة) بعض الواجهات.
begin() constيرجع مؤشر إلى بداية مخزن السلسلة الفعلي. لا يعيد تخصيص أي شيء أبداً. لا يضمن أن المخزن منتهي بـ null.
Clone() constينشئ نسخة من السلسلة الحالية.
static Compare(const String&, int, const String&, int, int, bool)Less-equal-greater-يقارن سلسلتين فرعيتين.
static Compare(const String&, int, const String&, int, int, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-يقارن سلسلتين فرعيتين.
static Compare(const String&, const String&, System::StringComparison)Less-equal-greater-يقارن سلسلتين.
static Compare(const String&, int, const String&, int, int, System::StringComparison)Less-equal-greater-يقارن سلسلتين.
static Compare(const String&, const String&, bool)Less-equal-greater-يقارن سلسلتين.
static Compare(const String&, const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&)Less-equal-greater-يقارن سلسلتين.
static CompareOrdinal(const String&, const String&)Less-equal-greater-يقارن سلسلتين باستخدام وضع ترتيبي.
static CompareOrdinal(const String&, int, const String&, int, int)Less-equal-greater-يقارن سلسلتين باستخدام وضع ترتيبي.
CompareTo(const String&) constيقارن سلسلتين بنمط ’less-equals-more’. يستخدم الثقافة الحالية.
static Concat(const ArrayPtr<String>&)يجمع السلاسل.
static Concat(const String&, const String&)يجمع السلاسل.
static Concat(const String&, const String&, const String&)يجمع السلاسل.
static Concat(const String&, const String&, const String&, const String&)يجمع السلاسل.
Contains(const String&) constيتحقق مما إذا كان str جزءًا فرعيًا من السلسلة الحالية.
Contains(char16_t) constيتحقق مما إذا كانت السلسلة تحتوي على الحرف المعطى.
static Copy(const String&)ينشئ نسخة من السلسلة.
CopyTo(int, const ArrayPtr<char_t>&, int, int) constينسخ أحرف السلسلة إلى عناصر المصفوفة الموجودة. لا يتم تغيير الحجم.
end() constيرجع مؤشرًا إلى نهاية مخزن السلسلة الفعلي. لا يعيد تخصيص أي شيء أبدًا. لا يضمن أن يكون المخزن منتهيًا بـ null.
EndsWith(const String&) constيتحقق مما إذا كانت السلسلة تنتهي بالجزء الفرعي المحدد.
EndsWith(const String&, System::StringComparison) constيتحقق مما إذا كانت السلسلة تنتهي بالجزء الفرعي المحدد.
EndsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constيتحقق مما إذا كانت السلسلة تنتهي بالجزء الفرعي المحدد.
Equals(const String&, System::StringComparison) constمقارنة مساواة String. يتم دعم عدة أوضاع توفرها تعداد StringComparison.
Equals(const String&) constمقارنة مساواة String. يستخدم وضع المقارنة System::StringComparison::Ordinal.
static Equals(const String&, const String&)Equal-يقارن سلسلتين باستخدام وضع المقارنة Ordial.
static Equals(const String&, const String&, System::StringComparison)Equal-يقارن سلسلتين.
FastToAscii(char, int) constيحاول تحويل String إلى سلسلة ASCII.
static Format(const SharedPtr<IFormatProvider>&, const String&, const Args&…)يصيغ السلسلة بنمط C#.
static Format(std::nullptr_t, const String&, const Args&…)يصيغ السلسلة بنمط C#.
static Format(std::nullptr_t, const char16_t(&), const Args&…)يصيغ السلسلة بنمط C#.
static Format(const String&, const Args&…)يصيغ السلسلة بنمط C#.
static Format(const String&, const System::ArrayPtr<T>&)يصيغ السلسلة بنمط C#.
static FromAscii(const char *)ينشئ String من سلسلة ASCII.
static FromAscii(const char *, int)ينشئ String من سلسلة ASCII.
static FromAscii(const std::string&)ينشئ String من سلسلة ASCII.
static FromUtf16(const std::u16string&)ينشئ String من سلسلة utf16.
static FromUtf32(const uint32_t *, int32_t)ينشئ String من سلسلة utf32.
static FromUtf8(const char *)ينشئ String من سلسلة utf8.
static FromUtf8(const char *, int)ينشئ String من سلسلة utf8.
static FromUtf8(const uint8_t *)ينشئ String من سلسلة utf8.
static FromUtf8(const std::string&)ينشئ String من سلسلة utf8.
static FromWCS(const std::wstring&)ينشئ String من widestring.
get_Length() constيحصل على طول السلسلة.
GetHashCode() constيحسب تجزئة السلسلة المحتواة. تم تنفيذها في ICU، ولا تتطابق التجزئات مع تلك في C#.
IndexOf(const String&, System::StringComparison) constبحث أمامي عن الجزء الفرعي.
IndexOf(char_t, int) constالبحث الأمامي عن الحرف.
IndexOf(char_t, int, int) constالبحث الأمامي عن الحرف في السلسلة الفرعية.
IndexOf(const String&, int) constبحث أمامي عن الجزء الفرعي.
IndexOf(const String&, int, System::StringComparison) constبحث أمامي عن الجزء الفرعي.
IndexOf(const String&, int, int, System::StringComparison) constبحث أمامي عن الجزء الفرعي.
IndexOf(const String&, int, int) constبحث أمامي عن الجزء الفرعي.
IndexOfAny(char_t, int) constالبحث الأمامي عن الحرف.
IndexOfAny(const String&, int) constوبالتالي يبحث عن جميع أحرف السلسلة str في هذا. إذا تم العثور على الحرف الأول، تُرجع موقعه، وإلا يبحث عن الحرف الثاني وهكذا.
IndexOfAny(const ArrayPtr<char_t>&) constيبحث عن أي من الأحرف الممررة عبر السلسلة بأكملها. يقارن الحرف الأول في السلسلة بجميع الأحرف في anyOf، ثم يقارن الثاني وهكذا. يُرجع فهرس أول حرف يطابق أيًا من الأحرف المستهدفة.
IndexOfAny(const ArrayPtr<char_t>&, int32_t) constيبحث عن أي من الأحرف الممررة عبر الجزء الفرعي. يقارن الحرف الأول في السلسلة بجميع الأحرف في anyOf، ثم يقارن الثاني وهكذا. يُرجع فهرس أول حرف يطابق أيًا من الأحرف المستهدفة.
IndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constيبحث عن أي من الأحرف الممررة عبر الجزء الفرعي. يقارن الحرف الأول في السلسلة بجميع الأحرف في anyOf، ثم يقارن الثاني وهكذا. يُرجع فهرس أول حرف يطابق أيًا من الأحرف المستهدفة.
Insert(int, const String&) constيدرج الجزء الفرعي في الموضع المحدد.
Is(const System::TypeInfo&) constيتحقق مما إذا كان كائن السلسلة من النوع المحدد بواسطة TypeInfo الممرر.
IsAsciiString() constيشير إلى ما إذا كان String يحتوي على رموز ASCII فقط.
IsEmpty() constيتحقق مما إذا كانت السلسلة غير null وفارغة.
IsNormalized(System::Text::NormalizationForm) constيتحقق مما إذا كانت السلسلة Unicode مُطَبَّقة باستخدام نموذج التطبيع المحدد.
IsNull() constيتحقق مما إذا كانت السلسلة تُعتبر null. تكون String null فقط إذا تم إنشاؤها عبر مُنشئ String()، أو تم نقلها أو نسخها أو تعيينها من سلسلة null أو تم استدعاء طريقة reset().
IsNullOrEmpty() constيتحقق مما إذا كانت السلسلة فارغة أو تُعتبر null.
static IsNullOrEmpty(const String&)يتحقق مما إذا كانت السلسلة الممررة null أو فارغة.
static IsNullOrWhiteSpace(const String&)يشير إلى ما إذا كانت السلسلة المحددة null أو فارغة أو تتكون فقط من أحرف المسافات البيضاء.
static Join(const String&, const ArrayPtr<String>&, int, int)يجمع المصفوفة باستخدام السلسلة كفاصل.
static Join(const String&, const System::Details::ArrayView<String>&, int, int)يجمع المصفوفة باستخدام السلسلة كفاصل.
static Join(const String&, const SharedPtr<System::Collections::Generic::IEnumerable<String>>&)يجمع المصفوفة باستخدام السلسلة كفاصل.
static Join(const String&, const ArrayPtr<SharedPtr<Object>>&)يجمع المصفوفة باستخدام السلسلة كفاصل.
LastIndexOf(const String&, int) constبحث خلفي عن الجزء الفرعي.
LastIndexOf(const String&, System::StringComparison) constبحث خلفي عن الجزء الفرعي.
LastIndexOf(const String&, int, System::StringComparison) constبحث خلفي عن الجزء الفرعي.
LastIndexOf(const String&, int, int, StringComparison) constبحث خلفي عن الجزء الفرعي.
LastIndexOf(char_t) constبحث خلفي عن الحرف.
LastIndexOf(char_t, int32_t) constبحث خلفي عن الحرف.
LastIndexOf(char_t, int32_t, int32_t) constبحث خلفي عن الحرف.
LastIndexOfAny(const ArrayPtr<char_t>&) constيبحث عن أي من الأحرف الممررة عبر السلسلة بأكملها بشكل عكسي. يقارن الحرف الأخير في السلسلة بجميع الأحرف في anyOf، ثم يقارن السابق وهكذا. يُرجع فهرس أول تطابق تم العثور عليه.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t) constيبحث عن أي من الأحرف الممررة عبر الجزء الفرعي بشكل عكسي. يقارن الحرف الأخير في السلسلة بجميع الأحرف في anyOf، ثم يقارن السابق وهكذا. يُرجع فهرس أول تطابق تم العثور عليه.
LastIndexOfAny(const ArrayPtr<char_t>&, int32_t, int32_t) constيبحث عن أي من الأحرف الممررة عبر الجزء الفرعي بشكل عكسي. يقارن الحرف الأخير في السلسلة بجميع الأحرف في anyOf، ثم يقارن السابق وهكذا. يُرجع فهرس أول تطابق تم العثور عليه.
Normalize(System::Text::NormalizationForm) constيقوم بتطبيع السلسلة Unicode باستخدام نموذج التطبيع المحدد.
operator!=(const String&) constعامل مقارنة عدم المساواة.
operator!=(std::nullptr_t) constيتحقق مما إذا كانت السلسلة ليست null. يطبق نفس المنطق كما في استدعاء IsNull().
operator+(const String&) constعامل ربط String.
operator+(const T&) constربط String مع ثابت نصي أو مؤشر إلى سلسلة أحرف.
operator+(char_t) constيضيف حرفًا إلى نهاية السلسلة.
operator+(int) constيضيف تمثيل قيمة عدد صحيح كسلسلة نصية إلى نهاية السلسلة.
operator+(uint32_t) constيضيف تمثيل قيمة عدد صحيح غير موقع كسلسلة نصية إلى نهاية السلسلة.
operator+(double) constيضيف تمثيل قيمة عدد عائم كسلسلة نصية إلى نهاية السلسلة.
operator+(int64_t) constيضيف تمثيل قيمة عدد صحيح كسلسلة نصية إلى نهاية السلسلة.
operator+(const T&) constيضيف تمثيل كائن من نوع مرجعي كسلسلة نصية إلى نهاية السلسلة.
operator+(const T&) constيضيف تمثيل كائن من نوع مرجعي كسلسلة نصية إلى نهاية السلسلة.
operator+(T) constيضيف تمثيل قيمة منطقية كسلسلة نصية إلى نهاية السلسلة.
operator+=(char_t)عامل إسناد الدمج.
operator+=(const String&)عامل إسناد الدمج.
operator+=(double)عامل إسناد الدمج.
operator+=(uint8_t)عامل إسناد الدمج.
operator+=(int16_t)عامل إسناد الدمج.
operator+=(uint16_t)عامل إسناد الدمج.
operator+=(int32_t)عامل إسناد الدمج.
operator+=(uint32_t)عامل إسناد الدمج.
operator+=(int64_t)عامل إسناد الدمج.
operator+=(uint64_t)عامل إسناد الدمج.
operator+=(T)عامل إسناد الدمج.
operator<(const String&) constيقارن السلاسل ترتيبياً.
operator=(const String&)عامل الإسناد.
operator=(String&&)عامل إسناد النقل.
operator==(const String&) constعامل مقارنة المساواة.
operator==(std::nullptr_t) constيتحقق مما إذا كانت السلسلة null. يطبق نفس المنطق كما في استدعاء IsNull().
operator>(const String&) constيقارن السلاسل ترتيبياً.
operator[](int) constيحصل على الحرف في الموضع المحدد.
PadLeft(int, char_t) constيضيف حشوًا على يسار السلسلة الأصلية.
PadRight(int, char_t) constيضيف حشوًا على يمين السلسلة الأصلية.
rbegin() constيرجع مكرّرًا عكسيًا إلى آخر حرف (إن وجد) في مخزن السلسلة الفعلي.
Remove(int32_t, int32_t) constيستخرج كل شيء ما عدا الجزء الفرعي من السلسلة الحالية.
rend() constيرجع مكرّرًا عكسيًا إلى ما قبل أول حرف (إن وجد) في مخزن السلسلة الفعلي.
Replace(char_t, char_t) constيستبدل جميع تكرارات الحرف في السلسلة.
Replace(const String&, const String&) constيستبدل جميع تكرارات البحث في هذه السلسلة.
reset()يضبط السلسلة إلى null. وهو مماثل لـ ‘string_variable_name = null’ في C#.
SetCharAt(int, char_t)يضبط الحرف في الموضع المحدد.
Split(char_t, StringSplitOptions) constيقسم السلسلة حسب الحرف.
Split(char_t, int32_t, StringSplitOptions) constيقسم السلسلة حسب الحرف.
Split(char_t, char_t, StringSplitOptions) constيقسم السلسلة حسب أحد حرفين.
Split(const ArrayPtr<char_t>&, StringSplitOptions) constيقسم السلسلة حسب أحد الأحرف المحددة.
Split(const ArrayPtr<char_t>&, int32_t, StringSplitOptions) constيقسم السلسلة حسب أحد الأحرف المحددة.
Split(const String&, StringSplitOptions) constيقسم السلسلة حسب الجزء الفرعي.
Split(const String&, int, StringSplitOptions) constيقسم السلسلة حسب الجزء الفرعي.
Split(const ArrayPtr<String>&, StringSplitOptions) constيقسم السلسلة حسب الجزء الفرعي.
Split(const ArrayPtr<String>&, int, StringSplitOptions) constيقسم السلسلة حسب الجزء الفرعي. حاليًا، يدعم فقط مصفوفة الفواصل التي تحتوي على صفر أو عنصر واحد.
StartsWith(const String&) constيتحقق مما إذا كانت السلسلة تبدأ بالجزء الفرعي المحدد.
StartsWith(const String&, System::StringComparison) constيتحقق مما إذا كانت السلسلة تبدأ بالجزء الفرعي المحدد.
StartsWith(const String&, bool, const SharedPtr<System::Globalization::CultureInfo>&) constيتحقق مما إذا كانت السلسلة تبدأ بالجزء الفرعي المحدد.
String()منشئ افتراضي. ينشئ كائن سلسلة يُعتبر فارغًا.
String(T&, typename std::enable_if<IsStringLiteral<T, char16_t>::value>::type *)يبني سلسلة بناءً على ثابت نصي. يعتبر الثابت سلسلة منتهية بـ null، ويحسب طول السلسلة الهدف بناءً على حجم الثابت.
String(const T&, typename std::enable_if<IsStringPointer<T, char16_t>::value>::type *)يبني سلسلة بناءً على مؤشر سلسلة أحرف. يتعامل مع السلسلة المشار إليها كمنتهية بـ null، ويحسب طول السلسلة الهدف بناءً على حرف null.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, char>::value>::type *)يبني سلسلة بناءً على ثابت نصي. يعتبر الثابت سلسلة منتهية بـ null بتشفير UTF8، ويحسب طول السلسلة الهدف بناءً على حجم الثابت.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, char>::value>::type *)يبني سلسلة بناءً على مؤشر سلسلة أحرف. يتعامل مع السلسلة المشار إليها كمنتهية بـ null بتشفير UTF8، ويحسب طول السلسلة الهدف بناءً على حرف null.
String(const char16_t *, int)يبني سلسلة من مؤشر سلسلة أحرف وطول صريح.
String(const char *, int)يبني سلسلة من مؤشر سلسلة أحرف وطول صريح.
String(const char16_t *, int, int)يبني سلسلة من مؤشر سلسلة أحرف بدءًا من موضع معين باستخدام الطول.
explicit String(const char16_t, int)منشئ تعبئة.
String(const T&, typename std::enable_if<std::is_same<T, std::nullptr_t>::value>::type *)منشئ nullptr. مُعلن كقالب لحل الأولويات مع منشئات القالب الأخرى.
explicit String(T&, typename std::enable_if<IsStringLiteral<T, wchar_t>::value>::type *)يبني سلسلة بناءً على ثابت نص واسع. يعتبر الثابت سلسلة منتهية بـ null، ويحسب طول السلسلة الهدف بناءً على حجم الثابت. التحويل من wchar_t يستغرق وقتًا على بعض المنصات، لذا لا يُسمح بالتحويلات الضمنية.
explicit String(const T&, typename std::enable_if<IsStringPointer<T, wchar_t>::value>::type *)يبني سلسلة بناءً على مؤشر سلسلة أحرف واسعة. يتعامل مع السلسلة المشار إليها كمنتهية بـ null، ويحسب طول السلسلة الهدف بناءً على حرف null. التحويل من wchar_t يستغرق وقتًا على بعض المنصات، لذا لا يُسمح بالتحويلات الضمنية.
explicit String(const wchar_t *, int)يبني سلسلة من مؤشر سلسلة أحرف واسعة وطول صريح. التحويل من wchar_t يستغرق وقتًا على بعض المنصات، لذا لا يُسمح بالتحويلات الضمنية.
explicit String(const wchar_t, int)منشئ تعبئة. التحويل من wchar_t يستغرق وقتًا على بعض المنصات، لذا لا يُسمح بالتحويلات الضمنية.
String(const String&)منشئ النسخ.
String(String&&)منشئ نقل.
String(const ArrayPtr<char16_t>&)يحوّل مصفوفة الأحرف بالكامل إلى سلسلة.
String(const ArrayPtr<char16_t>&, int, int)يحوّل نطاقًا فرعيًا من مصفوفة الأحرف إلى سلسلة. إذا كانت المعلمات خارج حدود المصفوفة، يتم إنشاء سلسلة فارغة.
explicit String(const codeporting_icu::UnicodeString&)يُغلف UnicodeString إلى String.
explicit String(codeporting_icu::UnicodeString&&)منشئ نقل.
explicit String(const std::wstring&)ينشئ String من widestring.
explicit String(const std::u16string&)ينشئ String من سلسلة utf16.
explicit String(const std::string&)ينشئ String من سلسلة std::string مقدمة بصيغة UTF-8.
explicit String(const std::u32string&)ينشئ String من سلسلة std::u32string.
Substring(int32_t) constيستخرج جزءًا فرعيًا.
Substring(int32_t, int32_t) constيستخرج جزءًا فرعيًا.
ToAsciiString() constيحوّل السلسلة إلى std::string. يستخدم ترميز ASCII.
ToByteArray(int32_t, int32_t, bool) constيحوّل السلسلة أو الجزء الفرعي إلى مصفوفة من البايتات.
ToCharArray(int32_t, int32_t) constيحوّل السلسلة أو الجزء الفرعي إلى مصفوفة من الأحرف.
ToLower() constيحوّل جميع أحرف السلسلة إلى أحرف صغيرة.
ToLower(const SharedPtr<System::Globalization::CultureInfo>&) constيقوم بتحويل جميع أحرف السلسلة إلى أحرف صغيرة باستخدام ثقافة محددة.
ToLowerInvariant() constيقوم بتحويل جميع أحرف السلسلة إلى أحرف صغيرة باستخدام ثقافة ثابتة.
ToString() constغلاف للتعامل مع فئة String في السياقات التي يتم فيها استدعاء ToString() على كائنات من نوع القيمة.
ToString(const SharedPtr<IFormatProvider>&) constغلاف للتعامل مع فئة String في السياقات التي يتم فيها استدعاء ToString() على كائنات من نوع القيمة.
ToU16Str() constيقوم بتحويل السلسلة إلى std::u16string.
ToU32Str() constيقوم بتحويل السلسلة إلى std::u32string.
ToUpper() constيقوم بتحويل جميع أحرف السلسلة إلى أحرف كبيرة.
ToUpper(const SharedPtr<System::Globalization::CultureInfo>&) constيقوم بتحويل جميع أحرف السلسلة إلى أحرف كبيرة باستخدام ثقافة محددة.
ToUpperInvariant() constيقوم بتحويل جميع أحرف السلسلة إلى أحرف كبيرة باستخدام ثقافة ثابتة.
ToUtf8String() constيقوم بتحويل السلسلة إلى std::string. يستخدم ترميز UTF-8.
ToWCS() constيقوم بتحويل السلسلة إلى std::wstring.
Trim() constيزيل جميع أحرف المسافات البيضاء من بداية ونهاية السلسلة.
Trim(char_t) constيزيل جميع تكرارات الحرف الممرَّر من بداية ونهاية السلسلة.
Trim(const String&) constيزيل جميع تكرارات الأحرف الممرَّرة من بداية ونهاية السلسلة.
Trim(const ArrayPtr<char_t>&) constيزيل جميع تكرارات الأحرف الممرَّرة من بداية ونهاية السلسلة.
TrimEnd() constيزيل جميع أحرف المسافات البيضاء من نهاية السلسلة.
TrimEnd(char_t) constيزيل جميع تكرارات الحرف الممرَّر من نهاية السلسلة.
TrimEnd(const String&) constيزيل جميع تكرارات الأحرف الممرَّرة من نهاية السلسلة.
TrimEnd(const ArrayPtr<char_t>&) constيزيل جميع تكرارات الأحرف الممرَّرة من نهاية السلسلة.
TrimStart() constيزيل جميع أحرف المسافات البيضاء من بداية السلسلة.
TrimStart(char_t) constيزيل جميع تكرارات الحرف الممرَّر من بداية السلسلة.
TrimStart(const String&) constيزيل جميع تكرارات الأحرف الممرَّرة من بداية السلسلة.
TrimStart(const ArrayPtr<char_t>&) constيزيل جميع تكرارات الأحرف الممرَّرة من بداية السلسلة.
u_str() constيعيد مخزنًا منتهيًا بـ null على نمط ICU. قد يعيد تخصيص السلسلة.
~String()المدمر.

الحقول

حقلالوصف
static Emptyسلسلة فارغة.
static Nullسلسلة null.

Typedefs

تعريف نوعالوصف
reverse_iteratorنوع المكرر العكسي.

ملاحظات

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

int main()
{
  // أنشئ سلسلة من مصفوفة الأحرف واطبعها.
  const auto chars = {u'h', u'e', u'l', u'l', u'o'};
  const System::String string1(chars);
  std::cout << string1 << std::endl;

  // أنشئ سلسلة من مصفوفة البايتات واطبعها.
  const uint8_t bytes[] = {0x77, 0x6f, 0x72, 0x6c, 0x64, 0x0};
  const auto string2 = System::String::FromUtf8(bytes);
  std::cout << string2 << std::endl;

  // قم بتقليم السلسلة أدناه واطبعها.
  const System::String string3(u"   This string contains whitespaces in the beginning and at the end.   ");
  std::cout << '"' << string3.Trim() << '"' << std::endl;

  // اطبع عدد الكلمات في الـ .
  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
*/

انظر أيضًا