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 de iterador, 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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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.