Classe Platform::String

Representa uma coleção sequencial de caracteres Unicode que é usada para representar o texto. Para obter mais informações e exemplos, confira Cadeias de caracteres.

Sintaxe

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

Iterators

Duas funções iteradoras, que não são membros da classe String, podem ser usadas com o std::for_each modelo de função para enumerar os caracteres em um objeto String.

Membro Descrição
const char16* begin(String^ s) Retorna um ponteiro para o início do objeto String especificado.
const char16* end(String^ s) Retorna um ponteiro após o fim do objeto String especificado.

Membros

A classe String herda de Object das interfaces IDisposable, IEquatable e IPrintable.

A classe String também tem os tipos de membros a seguir.

Construtores

Membro Descrição
String::String Inicializa uma nova instância da classe String.

Métodos

A classe String herda os métodos Equals(), Finalize(), GetHashCode(), GetType(), MemberwiseClose() e ToString() da Platform::Object Class. String também tem os métodos a seguir.

Método Descrição
String::Begin Retorna um ponteiro para o início da cadeia de caracteres atual.
String::CompareOrdinal Compara dois objetos String avaliando os valores numéricos dos caracteres correspondentes nos dois valores de cadeias de caracteres representados pelos objetos.
String::Concat Concatena os valores de dois objetos String.
String::Data Retorna um ponteiro para o início da cadeia de caracteres atual.
String::Dispose Libera recursos.
String::End Retorna um ponteiro após o fim da cadeia de caracteres atual.
String::Equals indica se o objeto especificado é igual ao objeto atual.
String::GetHashCode Retorna o código hash para essa instância .
String::IsEmpty Indica se o objeto String atual está vazio.
String::IsFastPass Indica se o objeto String atual está participando de uma operação de passagem rápida. Em uma operação de passagem rápida, a contagem de referência é suspensa.
String::Length Recupera o comprimento do objeto String atual.
String::ToString Retorna um objeto String cujo valor é igual ao da cadeia de caracteres atual.

Operadores

A classe String agora tem os operadores a seguir.

Membro Descrição
String::operator== Operator Indica se dois objetos String especificados têm o mesmo valor.
operador+ Operador Concatena dois objetos String em um novo objeto String.
String::operator> Operator Indica se o valor de um objeto String é maior que o valor de um segundo objeto String.
String::operator>= Operator Indica se o valor de um objeto String é maior ou igual ao valor de um segundo objeto String.
String::operator!= Operator Indica se dois objetos String especificados têm valores diferentes.
String::operator< Operator Indica se o valor de um objeto String é menor que o valor de um segundo objeto String.

Requisitos

Cliente com suporte mínimo: Windows 8

Servidor com suporte mínimo: Windows Server 2012

Namespace: Platform

Cabeçalho vccorlib.h (incluído por padrão)

Método String::Begin

Retorna um ponteiro para o início da cadeia de caracteres atual.

Sintaxe

char16* Begin();

Valor retornado

Um ponteiro para o início da cadeia de caracteres atual.

Método String::CompareOrdinal

Método estático que compara dois objetos String avaliando os valores numéricos dos caracteres correspondentes nos dois valores de cadeias de caracteres representados pelos objetos.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String.

str2
O segundo objeto String.

Valor de Devolução

Um número inteiro que indica a relação lexical entre os dois termos de comparação. A tabela a seguir lista os possíveis valores de retorno.

Valor Condição
-1 str1 é menor que str2.
0 str1 é igual a str2.
1 str1 é maior que str2.

Método String::Concat

Concatena os valores de dois objetos String.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String ou null.

str2
O segundo objeto String ou null.

Valor de Devolução

Um novo objeto String^ cujo valor é a concatenação dos valores de str1 e str2.

Se str1 for null e str2 não for, str1 será retornado. Se str2 for null e str1 não for, str2 será retornado. Se str1 e str2 forem ambos null, a cadeia de caracteres vazia (L"") será retornada.

Método String::Data

Retorna um ponteiro para o início do buffer de dados do objeto como uma matriz de estilo C de elementos char16 (wchar_t).

Sintaxe

const char16* Data();

Valor retornado

Um ponteiro para o início de uma matriz const char16 de caracteres Unicode (char16 é um typedef para wchar_t).

Comentários

Use este método para converter de Platform::String^ em wchar_t*. Quando o objeto String sai do escopo, não há mais garantia de que ponteiro Dados seja válido. Para armazenar os dados além do tempo de vida do objeto String original, use wcscpy_s para copiar a matriz na memória que você mesmo atribuiu.

Método String::Dispose

Libera recursos.

Sintaxe

virtual override void Dispose();

Método String::End

Retorna um ponteiro após o fim da cadeia de caracteres atual.

Sintaxe

char16* End();

Valor retornado

Um ponteiro após o fim da cadeia de caracteres atual.

Comentários

End() retorna Begin() + Length.

Método String::Equals

Indica se a cadeia de caracteres especificada tem o mesmo valor que o objeto atual.

Sintaxe

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

Parâmetros

str
O objeto a ser comparado.

Valor de Devolução

true se str for igual ao objeto atual; do contrário, false.

Comentários

Esse método é equivalente ao método estático String::CompareOrdinal. Na primeira sobrecarga, é esperado que o parâmetro str possa ser convertido em um objeto String^.

Método String::GetHashCode

Retorna o código hash para essa instância .

Sintaxe

virtual override int GetHashCode();

Valor retornado

O código hash para essa instância .

Método String::IsEmpty

Indica se o objeto String atual está vazio.

Sintaxe

bool IsEmpty();

Valor retornado

true se o objeto String atual for null ou a cadeia de caracteres vazia (L""); caso contrário, false.

Método String::IsFastPass

Indica se o objeto String atual está participando de uma operação de passagem rápida. Em uma operação de passagem rápida, a contagem de referência é suspensa.

Sintaxe

bool IsFastPass();

Valor retornado

true se o objeto String atual for de passagem rápida; caso contrário, false.

Comentários

Em uma chamada à função em que um objeto contado por referência é um parâmetro e a função chamada somente lê esse objeto, o compilador pode suspender com segurança a contagem de referência e aprimorar o desempenho de chamada. Não há nada útil que seu código pode fazer com essa propriedade. O sistema manipula todos os detalhes.

Método String::Length

Recupera o número de caracteres no objeto String atual.

Sintaxe

unsigned int Length();

Valor retornado

O número de caracteres no objeto String atual.

Comentários

O comprimento de uma cadeia de caracteres sem caracteres é zero. O comprimento da seguinte cadeia de caracteres é 5:

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

A matriz de caracteres retornada por String::Data tem um caractere adicional, que é NULL de terminação ou '\0'. Esse caractere também tem dois bytes de tamanho.

Operador String::operator+

Concatena dois objetos String em um novo objeto String.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String.

str2
O segundo objeto String , cujo conteúdo será acrescentado a str1.

Valor de Devolução

true se str1 for igual a str2; caso contrário, false.

Comentários

O operador cria um objeto String^ que contém os dados dos dois operandos. Use-o de acordo com sua conveniência quando o desempenho extremo não for crítico. Algumas chamadas para “+” em uma função provavelmente não serão visíveis, mas se você estiver manipulando objetos grandes ou dados de texto em um loop estreito, use os mecanismos e os tipos de C++ padrão.

String::operator== Operator

Indica se dois objetos de cadeia de caracteres especificados têm o mesmo valor de texto.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String a ser comparado.

str2
O segundo objeto String a ser comparado.

Valor de Devolução

true se o conteúdo de str1 for igual a str2; caso contrário, false.

Comentários

Esse operador é equivalente a String::CompareOrdinal.

String::operator>

Indica se o valor de um objeto String é maior que o valor de um segundo objeto String.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String.

str2
O segundo objeto String.

Valor de Devolução

true se o valor de str1 for maior que o valor de str2; caso contrário, false.

Comentários

Esse operador é equivalente a chamar explicitamente String::CompareOrdinal e obter um resultado maior que zero.

String::operator>=

Indica se o valor de um objeto String é maior ou igual ao valor de um segundo objeto String.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String.

str2
O segundo objeto String.

Valor de Devolução

true se o valor de str1 for maior ou igual ao valor de str2; caso contrário, false.

String::operator!=

Indica se dois objetos String especificados têm valores diferentes.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String a ser comparado.

str2
O segundo objeto String a ser comparado.

Valor de Devolução

true se str1 não for igual a str2; caso contrário, false.

String::operator<

Indica se o valor de um objeto String é menor que o valor de um segundo objeto String.

Sintaxe

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

Parâmetros

str1
O primeiro objeto String.

str2
O segundo objeto String.

Valor de Devolução

true se o valor de str1 for menor que o valor de str2; caso contrário, false.

Construtor String::String

Inicializa uma nova instância da classe String com uma cópia dos dados de cadeia de caracteres de entrada.

Sintaxe

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

Parâmetros

s
Uma série de caracteres largos que inicializam a cadeia de caracteres. char16

n
Um número que especifica o comprimento da cadeia de caracteres.

Comentários

Se o desempenho for crítico e você controlar o tempo de vida da cadeia de caracteres da origem, poderá usar Platform::StringReference ao invés de String.

Exemplo

String^ s = L"Hello!";

String::ToString

Retorna um objeto String cujo valor é igual ao da cadeia de caracteres atual.

Sintaxe

String^ String::ToString();

Valor retornado

Um objeto String cujo valor é igual ao da cadeia de caracteres atual.

Confira também

Namespace de plataforma