Platform::String クラス

テキストを表現するために使用される Unicode 文字のシーケンシャル コレクションを表します。 詳細と例については、「文字列」を参照してください。

構文

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

Iterators

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 には、次のメソッドもあります。

メソッド 説明
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 つの比較対照値の構文上の関係を示す整数。 次の表は、可能性のある戻り値の一覧です。

Value 状態
-1 str1str2 より小さい値です。
0 str1str2 と等価。
1 str1str2 より大きくなっています。

String::Concat メソッド

指定された 2 つの String オブジェクトの値を連結します。

構文

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

パラメーター

str1
1 つ目の String オブジェクト、または null

str2
2 つ目の String オブジェクト、または null

戻り値

str1str2 を連結した値を持つ新しい String^ オブジェクト。

str1null で、str2 がそうでない場合は、str1 が返されます。 str2null で、str1 がそうでない場合は、str2 が返されます。 str1str2 の両方が null の場合は、空の文字列 (L"") が返されます。

String::Data メソッド

char16 (wchar_t) 要素の C スタイル配列としてオブジェクトのデータ バッファーの先頭へのポインターを返します。

構文

const char16* Data();

戻り値

Unicode 文字の const char16 配列の先頭へのポインター (char16wchar_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 オブジェクト。

戻り値

str1str2 と等しい場合は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 オブジェクトです。

戻り値

truestr1 と等しくない場合は 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 オブジェクト。

関連項目

プラットフォーム名前空間