Platform::String クラス
テキストを表現するために使用される Unicode 文字のシーケンシャル コレクションを表します。 詳細と例については、「文字列」を参照してください。
構文
public ref class String sealed : Object,
IDisposable,
IEquatable,
IPrintable
反復子
String クラスのメンバーではない 2 つの反復子関数を、 std::for_each
関数テンプレートと共に使用して、String オブジェクト内の文字を列挙できます。
メンバー | 説明 |
---|---|
const char16* begin(String^ s) |
指定された String オブジェクトの始まりへのポインターを返します。 |
const char16* end(String^ s) |
指定された String オブジェクトの末尾を越えたポインターを返します。 |
メンバー
String クラスは、Object、および IDisposable、IEquatable、および IPrintable interfaces の各インターフェイスから継承します。
String クラスには、次の種類のメンバーの種類もあります。
コンストラクター
メンバー | 説明 |
---|---|
String::String | String クラスの新しいインスタンスを初期化します。 |
メソッド
String クラスは、 Platform::Object Classの Equals()、Finalize()、GetHashCode()、GetType()、MemberwiseClose()、および ToString() の各メソッドを継承します。 String には、次のメソッドもあります。
Method | 説明 |
---|---|
String::Begin | 現在の文字列の先頭へのポインターを返します。 |
String::CompareOrdinal | オブジェクトによって表される 2 つの文字列値に含まれる、対応する文字列の数値を評価することにより、2 つの String オブジェクトを比較します。 |
String::Concat | 指定された 2 つの String オブジェクトの値を連結します。 |
String::Data | 現在の文字列の先頭へのポインターを返します。 |
String::Dispose | リソースを解放またはリソースします。 |
String::End | 現在の文字列の末尾を越えたポインターを返します。 |
String::Equals | 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを示します。 |
String::GetHashCode | この インスタンスのハッシュ コードを返します。 |
String::IsEmpty | 現在の String オブジェクトが空かどうかを示します。 |
String::IsFastPass | 現在の String オブジェクトが "高速渡し" 操作に参加しているかどうかを示します。 高速渡し操作では、参照カウントは中断されます。 |
String::Length | 現在の String オブジェクトの長さを取得します。 |
String::ToString | 値が現在の文字列と同じである String オブジェクトを返します。 |
演算子
String クラスには、次の演算子があります。
メンバー | 説明 |
---|---|
String::operator== 演算子 | 指定された 2 つの String オブジェクトの値が同じかどうかを示します。 |
operator+ Operator | 2 つの String オブジェクトを連結して新しい String オブジェクトを作成します。 |
String::operator> 演算子 | 1 つの String オブジェクトの値が、2 番目の String オブジェクトの値より大きいかどうかを示します。 |
String::operator>= 演算子 | 1 つの String オブジェクトの値が、2 番目の String オブジェクトの値以上かどうかを示します。 |
String::operator!= 演算子 | 指定された 2 つの String オブジェクトの値が異なるかどうかを示します。 |
String::operator< 演算子 | 1 つの String オブジェクトの値が、2 番目の String オブジェクトの値より小さいかどうかを示します。 |
要件
サポートされている最低限のクライアント: Windows 8
サポートされている最低限のサーバー: Windows Server 2012
名前空間: Platform
ヘッダー vccorlib.h (既定でインクルードされる)
String::Begin メソッド
現在の文字列の先頭へのポインターを返します。
構文
char16* Begin();
戻り値
現在の文字列の先頭へのポインター。
String::CompareOrdinal メソッド
オブジェクトによって表される 2 つの文字列値に含まれる対応する文字の数値を評価することにより、2 つの String
オブジェクトを比較する静的メソッド。
構文
static int CompareOrdinal( String^ str1, String^ str2 );
パラメーター
str1
1 つ目の String オブジェクト。
str2
2 つ目の String オブジェクト。
戻り値
2 つの比較対照値の構文上の関係を示す整数。 次の表は、可能性のある戻り値の一覧です。
値 | 条件 |
---|---|
-1 | str1 は str2 より小さい値です。 |
0 | str1 は str2 と等価。 |
1 | str1 が str2 より大きくなっています。 |
String::Concat メソッド
指定された 2 つの String オブジェクトの値を連結します。
構文
String^ Concat( String^ str1, String^ str2);
パラメーター
str1
1 つ目の String オブジェクト、または null
。
str2
2 つ目の String オブジェクト、または null
。
戻り値
str1
と str2
を連結した値を持つ新しい String^ オブジェクト。
str1
が null
で、str2
がそうでない場合は、str1
が返されます。 str2
が null
で、str1
がそうでない場合は、str2
が返されます。 str1
と str2
の両方が null
の場合は、空の文字列 (L"") が返されます。
String::Data メソッド
char16
(wchar_t
) 要素の C スタイル配列としてオブジェクトのデータ バッファーの先頭へのポインターを返します。
構文
const char16* Data();
戻り値
Unicode 文字の const char16
配列の先頭へのポインター (char16
は wchar_t
の typedef) です。
解説
Platform::String^
から wchar_t*
に変換するには、このメソッドを使用します。 String
オブジェクトがスコープ外に出ると、データ ポインターが有効であるという保証がなくなります。 元の String
オブジェクトの有効期間以上にデータを格納しておくには、wcscpy_s を使用して配列を自分で割り当てたメモリにコピーします。
String::Dispose メソッド
リソースを解放またはリソースします。
構文
virtual override void Dispose();
String::End メソッド
現在の文字列の末尾を越えたポインターを返します。
構文
char16* End();
戻り値
現在の文字列の末尾を越えたポインター。
解説
End() は Begin() + 長さを返します。
String::Equals メソッド
指定された String に現在のオブジェクトと同じ値が存在するかどうかを示します。
構文
bool String::Equals(Object^ str);
bool String::Equals(String^ str);
パラメーター
str
比較するオブジェクト。
戻り値
true
が現在のオブジェクトに等しい場合は str
。それ以外の場合は、false
。
解説
このメソッドは静的な String::CompareOrdinal と同等です。 最初のオーバーロードでは、str
パラメーターが String^ オブジェクトにキャストできることが想定されています。
String::GetHashCode メソッド
この インスタンスのハッシュ コードを返します。
構文
virtual override int GetHashCode();
戻り値
この インスタンスのハッシュ コード。
String::IsEmpty メソッド
現在の String オブジェクトが空かどうかを示します。
構文
bool IsEmpty();
戻り値
現在の String
オブジェクトが null または空の文字列 (L"") の場合は true
。それ以外の場合は false
。
String::IsFastPass メソッド
現在の String オブジェクトが "高速渡し" 操作に参加しているかどうかを示します。 高速渡し操作では、参照カウントは中断されます。
構文
bool IsFastPass();
戻り値
現在の String
オブジェクトが高速渡しの場合は true
、それ以外の場合は false
。
解説
参照カウントを使用するオブジェクトがパラメーターであり、呼び出された関数がそのオブジェクトだけを読み取る場合の関数への呼び出しでは、コンパイラは安全に参照カウントを中断し、呼び出しのパフォーマンスを改善することができます。 このプロパティをコード内で活用することはできません。 システムがすべての詳細を処理します。
String::Length メソッド
現在の String
オブジェクト内の文字数を取得します。
構文
unsigned int Length();
戻り値
現在の String
オブジェクト内の文字数。
解説
文字がない場合の String の長さはゼロです。 次の文字列は長さが 5 になります。
String^ str = "Hello";
int len = str->Length(); //len = 5
String::Data が返す文字配列には、末尾に「NULL」または「\0」のいずれかの文字が 1 つ追加されます。 この文字は、長さが 2 バイトです。
String::operator+ 演算子
2 つの String オブジェクトを連結して新しい String オブジェクトを作成します。
構文
bool String::operator+( String^ str1, String^ str2);
パラメーター
str1
最初の String
オブジェクト。
str2
内容が String
に追加される 2 番目の str1
オブジェクト。
戻り値
str1 が str2 と等しい場合はtrue
、それ以外の場合は false
。
解説
この演算子は、2 種類のオペランドのデータを含む String^
オブジェクトを作成します。 パフォーマンスを極端に高める必要がない場合には、便宜上、この演算子を使用します。 関数で "+
" を数回呼び出しても目立つことはないと思われますが、サイズの大きなオブジェクトまたはテキスト データを頻繁に操作するときには、標準的な C++ の機構と型を使用してください。
String::operator== 演算子
指定された 2 つの String オブジェクトのテキスト値が同じかどうかを示します。
構文
bool String::operator==( String^ str1, String^ str2);
パラメーター
str1
比較する最初の String
オブジェクトです。
str2
比較する 2 番目の String
オブジェクトです。
戻り値
str1
の内容が str2
と等しい場合は true
、それ以外の場合は false
。
解説
この演算子は String::CompareOrdinal と同等です。
String::operator>
1 つの String
オブジェクトの値が 2 番目の String
オブジェクトの値より大きいかどうかを示します。
構文
bool String::operator>( String^ str1, String^ str2);
パラメーター
str1
最初の String
オブジェクト。
str2
2 番目の String
オブジェクト。
戻り値
str1
の値が str2
の値より大きい場合は true
。それ以外の場合は false
。
解説
この演算子は明示的に String::CompareOrdinal を呼び出し、0 より大きな結果を取得する操作と同じです。
String::operator>=
1 つの String
オブジェクトの値が 2 番目の String
オブジェクトの値以上かどうかを示します。
構文
bool String::operator>=( String^ str1, String^ str2);
パラメーター
str1
最初の String
オブジェクト。
str2
2 番目の String
オブジェクト。
戻り値
true
の値が str1
の値以上の場合は str2
。それ以外の場合は false
。
String::operator!=
指定した 2 つの String
オブジェクトの値が異なるかどうかを示します。
構文
bool String::operator!=( String^ str1, String^ str2);
パラメーター
str1
比較する最初の String
オブジェクトです。
str2
比較する 2 番目の String
オブジェクトです。
戻り値
true
が str1
と等しくない場合は str2
。それ以外の場合は false
。
String::operator<
1 つの String
オブジェクトの値が 2 番目の String
オブジェクトの値より小さいかどうかを示します。
構文
bool String::operator<( String^ str1, String^ str2);
パラメーター
str1
最初の String
オブジェクト。
str2
2 番目の String
オブジェクト。
戻り値
str1 の値が str2 の値より小さい場合は true
、それ以外の場合は false
。
String::String コンストラクター
入力文字列データのコピーで String
クラスの新しいインスタンスを初期化します。
構文
String();
String(char16* s);
String(char16* s, unsigned int n);
パラメーター
s
文字列を初期化する一連のワイド文字。 char16
n
文字列の長さを指定する数値。
解説
パフォーマンスが重要で、かつソース文字列の有効期間を管理する場合は、String の代わりに Platform::StringReference を使用することができます。
例
String^ s = L"Hello!";
String::ToString
値が現在の文字列と同じ String
オブジェクトを返します。
構文
String^ String::ToString();
戻り値
値が現在の文字列と同じ String
オブジェクト。