Класс 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 содержит также следующие методы.
Метод | Description |
---|---|
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();
Возвращаемое значение
true
String
Значение 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
Объект, значение которого совпадает с текущей строкой.