Класс Platform::String

Представляет упорядоченную коллекцию символов Юникода, используемую для представления текста. Дополнительные сведения и примеры см. в разделе "Строки".

Синтаксис

public ref class String sealed : Object,
    IDisposable,
    IEquatable,
    IPrintable

Итераторы

Две итераторные функции, которые не являются членами класса String, можно использовать с шаблоном std::for_each функции для перечисления символов в объекте String.

Элемент Description
const char16* begin(String^ s) Возвращает указатель на начало указанного объекта String.
const char16* end(String^ s) Возвращает указатель на позицию после окончания указанного объекта String.

Участники

Класс String наследует от класса Object и интерфейсов IDisposable, IEquatable и IPrintable.

Класс String имеет также следующие типы членов.

Конструкторы

Элемент Description
String::String Инициализирует новый экземпляр класса String.

Методы

Класс String наследует методы Equals(), Finalize(), GetHashCode(), GetType(), MemberwiseClose() и ToString() от класса Platform::Object Class. Класс String содержит также следующие методы.

Способ Описание
String::Begin Возвращает указатель на начало текущей строки.
String::CompareOrdinal Сравнивает два объекта String , оценивая числовые значения соответствующих символов в двух строковых значениях, представленных объектами.
String::Concat Объединяет значения двух объектов String.
String::D ata Возвращает указатель на начало текущей строки.
String::D ispose Высвобождает ресурсы.
String::End Возвращает указатель на позицию после конца текущей строки.
String::Equals Указывает, равен ли указанный объект текущему объекту.
String::GetHashCode Возвращает хэш-код этого экземпляра .
String::Isempty Указывает, является ли объект String пустым.
String::IsFastPass Указывает, участвует ли текущий объект String в операции быстрого прохождения . В операции быстрой передачи подсчет ссылок приостанавливается.
String::Length Получает длину текущего объекта String.
String::ToString Возвращает объект String, значение которого совпадает со значением текущей строки.

Операторы

Класс String имеет следующие операторы.

Элемент Description
Оператор String::operator== Указывает, имеют ли два указанных объекта String одинаковые значения.
Оператор operator+ Сцепляет два объекта String в новый объект String.
Оператор String:::operator> Указывает, является ли значение одного объекта String большим, чем значение второго объекта String.
Оператор String::operator>= Указывает, является ли значение одного объекта String больше или равным значению второго объекта String.
Оператор String::operator!= Указывает, имеют ли два указанных объекта String разные значения.
Оператор String:::operator< Указывает, является ли значение одного объекта String меньшим, чем значение второго объекта String.

Требования

Минимальный поддерживаемый клиент: Windows 8

Минимальный поддерживаемый сервер: Windows Server 2012

Пространство имен: Platform

Заголовок vccorlib.h (включается по умолчанию)

Метод String::Begin

Возвращает указатель на начало текущей строки.

Синтаксис

char16* Begin();

Возвращаемое значение

Указатель на начало текущей строки.

Метод String::CompareOrdinal

Статический метод, который сравнивает два String объекта путем вычисления числовых значений соответствующих символов в двух строковых значениях, представленных объектами.

Синтаксис

static int CompareOrdinal( String^ str1, String^ str2 );

Параметры

str1
Первый объект String.

str2
Второй объект String.

Возвращаемое значение

Целое число, выражающее лексическое соотношение двух сравниваемых значений. В следующей таблице перечислены возможные возвращаемые значения.

Значение Condition
-1 str1 меньше str2.
0 Значение str1 равно значению str2.
1 str1 больше str2.

Метод String::Concat

Объединяет значения двух объектов String.

Синтаксис

String^ Concat( String^ str1, String^ str2);

Параметры

str1
Первый объект String или значение null.

str2
Второй объект String или значение null.

Возвращаемое значение

Новый объект String^, значение которого является объединением значений str1 и str2.

Если str1 имеет значение null, а str2 — значение, отличное от null, возвращается значение str1. Если str2 имеет значение null, а str1 — значение, отличное от null, возвращается значение str2. Если оба параметра str1 и str2 имеют значение null, возвращается пустая строка (L"").

Метод String::Data

Возвращает указатель на начало буфера данных объекта в качестве массива элементов char16 (wchar_t) в стиле языка C.

Синтаксис

const char16* Data();

Возвращаемое значение

Указатель на начало const char16 массива символов Юникода (char16 это типdef для wchar_t).

Замечания

Используйте этот метод для преобразования из Platform::String^ в wchar_t*. Когда объект String выходит за пределы области, указатель Data больше не является гарантированно допустимым. Чтобы сохранить данные за пределами времени существования исходного String объекта, используйте wcscpy_s для копирования массива в память, выделенную самостоятельно.

Метод String::Dispose

Высвобождает ресурсы.

Синтаксис

virtual override void Dispose();

Метод String::End

Возвращает указатель на позицию после конца текущей строки.

Синтаксис

char16* End();

Возвращаемое значение

Указатель на позицию после конца текущей строки.

Замечания

End() возвращает Begin() + Length.

Метод String::Equals

Указывает, совпадает ли значение заданного объекта String со значением текущего объекта.

Синтаксис

bool String::Equals(Object^ str);
bool String::Equals(String^ str);

Параметры

str
Объект , подлежащий сравнению.

Возвращаемое значение

Значение true, если str равен текущему объекту; в противном случае — значение false.

Замечания

Этот метод эквивалентен статической строке::CompareOrdinal. В первой перегрузке предполагается, что параметр str может быть приведен к объекту String^.

Метод String::GetHashCode

Возвращает хэш-код этого экземпляра .

Синтаксис

virtual override int GetHashCode();

Возвращаемое значение

Хэш-код данного экземпляра .

Метод String::IsEmpty

Указывает, является ли объект String пустым.

Синтаксис

bool IsEmpty();

Возвращаемое значение

trueStringЗначение NULL или пустая строка (L"); в противном случае false.

Метод String::IsFastPass

Указывает, участвует ли текущий объект String в операции быстрого прохождения . В операции быстрой передачи подсчет ссылок приостанавливается.

Синтаксис

bool IsFastPass();

Возвращаемое значение

true Значение , если текущий String объект находится быстро в прошлом; в противном случае false.

Замечания

При вызове функции, где в качестве параметра используется объект с подсчетом ссылок и вызываемая функция обращается к этому объекту только для чтения, компилятор может безопасно приостановить подсчет ссылок, чтобы повысить производительность вызова. Это свойство не дает никакой дополнительной пользы для вашего кода. Система обрабатывает все сведения.

Метод String::Length

Извлекает количество символов в текущем String объекте.

Синтаксис

unsigned int Length();

Возвращаемое значение

Число символов в текущем String объекте.

Замечания

Длина объекта String без символов равна нулю. Длина следующего объекта String равна 5.

String^ str = "Hello";
int len = str->Length(); //len = 5

Массив символов, возвращаемый строкой ::D ata , имеет один дополнительный символ, который является завершающим значением NULL или \0. Этот символ также имеет длину 2 байта.

Оператор String::operator+

Объединяет два объекта String в новый объект String.

Синтаксис

bool String::operator+( String^ str1, String^ str2);

Параметры

str1
Первый объект String.

str2
Второй объект String, содержимое которого будет добавлено в str1.

Возвращаемое значение

true Значение str1 равно str2; в противном случае false.

Замечания

Этот оператор создает объект String^, содержащий данные из двух операндов. Используйте его для удобства, если производительность не играет решающей роли. Несколько вызовов "+" в функции, скорее всего, не будут иметь последствий, но если вы имеете дело с большими объектами или текстовыми данными в сложном цикле, используйте стандартные механизмы и типы C++.

Оператор String::operator==

Указывает, равны ли текстовые значения двух указанных объектов String.

Синтаксис

bool String::operator==( String^ str1, String^ str2);

Параметры

str1
Первый сравниваемый объект String.

str2
Второй сравниваемый объект String.

Возвращаемое значение

trueЗначение str2, falseесли содержимое str1 равно; в противном случае .

Замечания

Этот оператор эквивалентен String::CompareOrdinal.

String::operator>

Указывает, больше ли значение одного String объекта, чем значение второго String объекта.

Синтаксис

bool String::operator>( String^ str1, String^ str2);

Параметры

str1
Первый объект String.

str2
Второй объект String.

Возвращаемое значение

Значение true, если значение str1 больше str2; в противном случае — значение false.

Замечания

Этот оператор эквивалентен явному вызову String::CompareOrdinal и получен результат больше нуля.

String::operator>=

Указывает, больше ли значение одного String объекта или равно значению второго String объекта.

Синтаксис

bool String::operator>=( String^ str1, String^ str2);

Параметры

str1
Первый объект String.

str2
Второй объект String.

Возвращаемое значение

Значение true, если значение str1 больше или равно значению str2; в противном случае — значение false.

String::operator!=

Указывает, имеют ли два указанных String объекта разные значения.

Синтаксис

bool String::operator!=( String^ str1, String^ str2);

Параметры

str1
Первый сравниваемый объект String.

str2
Второй сравниваемый объект String.

Возвращаемое значение

true, если значения str1 и str2 не равны; в противном случае — false.

String::operator<

Указывает, меньше ли значение одного String объекта, чем значение второго String объекта.

Синтаксис

bool String::operator<( String^ str1, String^ str2);

Параметры

str1
Первый объект String.

str2
Второй объект String.

Возвращаемое значение

trueЗначение str1 меньше значения str2; в противном случае false.

Конструктор String::String

Инициализирует новый экземпляр String класса с копией входных строковых данных.

Синтаксис

String();
String(char16* s);
String(char16* s, unsigned int n);

Параметры

s
Серия расширенных символов, инициализирующих строку. char16

n
Число, указывающее длину строки.

Замечания

Если производительность важна, и вы управляете временем существования исходной строки, можно использовать Platform::StringReference вместо String.

Пример

String^ s = L"Hello!";

String::ToString

String Возвращает объект, значение которого совпадает с текущей строкой.

Синтаксис

String^ String::ToString();

Возвращаемое значение

String Объект, значение которого совпадает с текущей строкой.

См. также

Пространство имен Platform