Platform::String クラスPlatform::String Class

テキストを表現するために使用される Unicode 文字のシーケンシャル コレクションを表します。Represents a sequential collection of Unicode characters that is used to represent text. 詳細と例については、次を参照してください。文字列します。For more information and examples, see Strings.

構文Syntax

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

IteratorsIterators

String クラスのメンバーではない 2 つの反復子関数を std::for_each テンプレート関数で使用して、String オブジェクトの文字列を列挙できます。Two iterator functions, which are not members of the String class, can be used with the std::for_each template function to enumerate the characters in a String object.

メンバーMember 説明Description
const char16* begin(String^ s) 指定された String オブジェクトの始まりへのポインターを返します。Returns a pointer to the beginning of the specified String object.
const char16* end(String^ s) 指定された String オブジェクトの末尾を越えたポインターを返します。Returns a pointer past the end of the specified String object.

メンバーMembers

String クラスは、Object、および IDisposable、IEquatable、および IPrintable interfaces の各インターフェイスから継承します。The String class inherits from Object, and the IDisposable, IEquatable, and IPrintable interfaces.

String クラスには、次の種類のメンバーの種類もあります。The String class also has the following types of members.

コンストラクターConstructors

メンバーMember 説明Description
String::StringString::String String クラスの新しいインスタンスを初期化します。Initializes a new instance of the String class.

メソッドMethods

String クラスは、 Platform::Object Classの Equals()、Finalize()、GetHashCode()、GetType()、MemberwiseClose()、および ToString() の各メソッドを継承します。The String class inherits the Equals(), Finalize(), GetHashCode(), GetType(), MemberwiseClose(), and ToString() methods from the Platform::Object Class. String には、次のメソッドもあります。String also has the following methods.

メソッドMethod 説明Description
String::beginString::Begin 現在の文字列の先頭へのポインターを返します。Returns a pointer to the beginning of the current string.
String::CompareOrdinalString::CompareOrdinal オブジェクトによって表される 2 つの文字列値に含まれる、対応する文字列の数値を評価することにより、2 つの String オブジェクトを比較します。Compares two String objects by evaluating the numeric values of the corresponding characters in the two string values represented by the objects.
String::ConcatString::Concat 指定された 2 つの String オブジェクトの値を連結します。Concatenates the values of two String objects.
String::dataString::Data 現在の文字列の先頭へのポインターを返します。Returns a pointer to the beginning of the current string.
String::disposeString::Dispose リソースを解放またはリソースします。Frees or releases resources.
String::EndString::End 現在の文字列の末尾を越えたポインターを返します。Returns a pointer past the end of the current string.
String::EqualsString::Equals 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを示します。Indicates whether the specified object is equal to the current object.
String::GetHashCodeString::GetHashCode このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.
String::IsEmptyString::IsEmpty 現在の String オブジェクトが空かどうかを示します。Indicates whether the current String object is empty.
String::IsFastPassString::IsFastPass 現在の String オブジェクトが参加しているかどうかを示す、高速渡し操作。Indicates whether the current String object is participating in a fast pass operation. 高速渡し操作では、参照カウントは中断されます。In a fast pass operation, reference counting is suspended.
String::LengthString::Length 現在の String オブジェクトの長さを取得します。Retrieves the length of the current String object.
String::ToStringString::ToString 値が現在の文字列と同じである String オブジェクトを返します。Returns a String object whose value is the same as the current string.

演算子Operators

文字列クラスには、次の演算子があります。The String class has the following operators.

メンバーMember 説明Description
String::operator = 演算子String::operator== Operator 指定された 2 つの String オブジェクトの値が同じかどうかを示します。Indicates whether two specifed String objects have the same value.
operator+ Operatoroperator+ Operator 2 つの String オブジェクトを連結して新しい String オブジェクトを作成します。Concatenates two String objects into a new String object.
String::operator > 演算子String::operator> Operator 1 つの String オブジェクトの値が、2 番目の String オブジェクトの値より大きいかどうかを示します。Indicates whether the value of one String object is greater than the value of a second String object.
String::operator > = 演算子String::operator>= Operator 1 つの String オブジェクトの値が、2 番目の String オブジェクトの値以上かどうかを示します。Indicates whether the value of one String object is greater than or equal to the value of a second String object.
String::operator! = 演算子String::operator!= Operator 指定された 2 つの String オブジェクトの値が異なるかどうかを示します。Indicates whether two specifed String objects have different values.
String::operator < 演算子String::operator< Operator 1 つの String オブジェクトの値が、2 番目の String オブジェクトの値より小さいかどうかを示します。Indicates whether the value of one String object is less than the value of a second String object.

要件Requirements

クライアントがサポートされている最小: Windows 8Minimum supported client: Windows 8

サポートされているサーバーの最小値: Windows Server 2012Minimum supported server: Windows Server 2012

名前空間: PlatformNamespace: Platform

ヘッダー vccorlib.h (既定でインクルードされる)Header vccorlib.h (included by default)

String::begin メソッドString::Begin Method

現在の文字列の先頭へのポインターを返します。Returns a pointer to the beginning of the current string.

構文Syntax

char16* Begin();

戻り値Return Value

現在の文字列の先頭へのポインター。A pointer to the beginning of the current string.

String::compareordinal メソッドString::CompareOrdinal Method

オブジェクトによって表される 2 つの文字列値に含まれる、対応する文字列の数値を評価することにより、2 つの String オブジェクトを比較します。Compares two String objects by evaluating the numeric values of the corresponding characters in the two string values represented by the objects.

構文Syntax

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

パラメーターParameters

str1str1
1 つ目の String オブジェクト。The first String object.

str2str2
2 つ目の String オブジェクト。The second String object.

戻り値Return Value

2 つの比較対照値の構文上の関係を示す整数。An integer that indicates the lexical relationship between the two comparands. 次の表は、可能性のある戻り値の一覧です。The following table lists the possible return values.

[値]Value 条件Condition
-1-1 str1str2 より小さい値です。str1 is less than str2.
00 str1str2 と等価。str1 is equals str2.
11 str1str2 より大きくなっています。str1 is greater than str2.

String::concat メソッドString::Concat Method

指定された 2 つの String オブジェクトの値を連結します。Concatenates the values of two String objects.

構文Syntax

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

パラメーターParameters

str1str1
1 つ目の String オブジェクト、または nullThe first String object, or null.

str2str2
2 つ目の String オブジェクト、または nullThe second String object, or null.

戻り値Return Value

str1str2 を連結した値を持つ新しい String^ オブジェクト。A new String^ object whose value is the concatenation of the values of str1 and str2.

場合str1nullstr2ないstr1が返されます。If str1 is null and str2 is not, str1 is returned. 場合str2nullstr1ないstr2が返されます。If str2 is null and str1 is not, str2 is returned. str1str2 の両方が null の場合は、空の文字列 (L"") が返されます。If str1 and str2 are both null, the empty string (L"") is returned.

String::data メソッドString::Data Method

char16 (wchar_t) 要素の C スタイル配列としてオブジェクトのデータ バッファーの先頭へのポインターを返します。Returns a pointer to the beginning of the object's data buffer as a C-style array of char16 (wchar_t) elements.

構文Syntax

const char16* Data();

戻り値Return Value

先頭へのポインターをconst char16Unicode 文字の配列 (char16の typedef は、 wchar_t)。A pointer to the beginning of a const char16 array of Unicode characters (char16 is a typedef for wchar_t).

RemarksRemarks

Platform::String^ から wchar_t* に変換するには、このメソッドを使用します。Use this method to convert from Platform::String^ to wchar_t*. String オブジェクトがスコープ外に出ると、データ ポインターが有効であるという保証がなくなります。When the String object goes out of scope, the Data pointer is no longer guaranteed to be valid. 元の有効期間を超えてデータを格納するStringオブジェクトを使用してwcscpy_sを自分で割り当てたメモリに、配列にコピーします。To store the data beyond the lifetime of the original String object, use wcscpy_s to copy the array into memory that you have allocated yourself.

String::dispose メソッドString::Dispose Method

リソースを解放またはリソースします。Frees or releases resources.

構文Syntax

virtual override void Dispose();

String::end メソッドString::End Method

現在の文字列の末尾を越えたポインターを返します。Returns a pointer past the end of the current string.

構文Syntax

char16* End();

戻り値Return Value

現在の文字列の末尾を越えたポインター。A pointer to past the end of the current string.

RemarksRemarks

End() は Begin() + Length を返します。End() returns Begin() + Length.

String::equals メソッドString::Equals Method

指定された String に現在のオブジェクトと同じ値が存在するかどうかを示します。Indicates whether the specified String has the same value as the current object.

構文Syntax

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

パラメーターParameters

strstr
比較対象のオブジェクト。The object to compare.

戻り値Return Value

true が現在のオブジェクトに等しい場合は str。それ以外の場合は、falsetrue if str is equal to the current object; otherwise, false.

RemarksRemarks

このメソッドは、 string::compareordinalします。This method is equivalent to the String::CompareOrdinal. 最初のオーバーロードでは、str パラメーターが String^ オブジェクトにキャストできることが想定されています。In the first overload, it is expected the str parameter can be cast to a String^ object.

String::gethashcode メソッドString::GetHashCode Method

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

構文Syntax

virtual override int GetHashCode();

戻り値Return Value

対象のインスタンスのハッシュ コード。The hash code for this instance.

String::isempty メソッドString::IsEmpty Method

現在の String オブジェクトが空かどうかを示します。Indicates whether the current String object is empty.

構文Syntax

bool IsEmpty();

戻り値Return Value

現在の String オブジェクトが true または空の文字列 ("") の場合は null。それ以外の場合は falsetrue if the current String object is null or the empty string (L""); otherwise, false.

String::isfastpass メソッドString::IsFastPass Method

現在の String オブジェクトが参加しているかどうかを示す、高速渡し操作。Indicates whether the current String object is participating in a fast pass operation. 高速渡し操作では、参照カウントは中断されます。In a fast pass operation, reference counting is suspended.

構文Syntax

bool IsFastPass();

戻り値Return Value

現在の文字列オブジェクトが高速渡しの場合は true。それ以外の場合は falsetrue if the current String object is fast-past; otherwise, false.

RemarksRemarks

参照カウントを使用するオブジェクトがパラメーターであり、呼び出された関数がそのオブジェクトだけを読み取る場合の関数への呼び出しでは、コンパイラは安全に参照カウントを中断し、呼び出しのパフォーマンスを改善することができます。In a call to a function where a reference-counted object is a parameter, and the called function only reads that object, the compiler can safely suspend reference counting and improve calling performance. このプロパティをコード内で活用することはできません。There is nothing useful that your code can do with this property. システムがすべての詳細を処理します。The system handles all the details.

String::length メソッドString::Length Method

現在の String オブジェクト内の文字数を取得します。Retrieves the number of characters in the current String object.

構文Syntax

unsigned int Length();

戻り値Return Value

現在の String オブジェクト内の文字数。The number of characters in the current String object.

RemarksRemarks

文字がない場合の String の長さはゼロです。The length of a String with no characters is zero. 次の文字列は長さが 5 になります。The length of the following string is 5:

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

によって返される文字の配列、 string::data終端の NULL または '\0' は、1 つの追加の文字があります。The character array returned by the String::Data has one additional character, which is the terminating NULL or '\0'. この文字は、長さが 2 バイトです。This character is also two bytes long.

String::operator + 演算子String::operator+ Operator

2 つ連結文字列オブジェクトを新しい文字列オブジェクト。Concatenates two String objects into a new String object.

構文Syntax

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

パラメーターParameters

str1str1
最初の String オブジェクト。The first String object.

str2str2
内容が String に追加される 2 番目の str1 オブジェクト。The second String object, whose contents will be appended to str1.

戻り値Return Value

truestr1 に等しい場合は str2。それ以外の場合は falsetrue if str1 is equal to str2; otherwise, false.

RemarksRemarks

この演算子は、2 種類のオペランドのデータを含む String^ オブジェクトを作成します。This operator creates a String^ object that contains the data from the two operands. パフォーマンスを極端に高める必要がない場合には、便宜上、この演算子を使用します。Use it for convenience when extreme performance is not critical. 関数で "+" を数回呼び出しても目立つことはないと思われますが、サイズの大きなオブジェクトまたはテキスト データを頻繁に操作するときには、標準的な C++ の機構と型を使用してください。A few calls to "+" in a function will probably not be noticeable, but if you are manipulating large objects or text data in a tight loop, then use the standard C++ mechanisms and types.

String::operator = 演算子String::operator== Operator

指定された 2 つの String オブジェクトのテキスト値が同じかどうかを示します。Indicates whether two specified String objects have the same text value.

構文Syntax

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

パラメーターParameters

str1str1
比較する最初の String オブジェクト。The first String object to compare.

str2str2
比較する 2 番目の String オブジェクト。The second String object to compare.

戻り値Return Value

true の中身が str1 と等しい場合は str2。それ以外の場合は falsetrue if the contents of str1 are equal to str2; otherwise, false.

RemarksRemarks

この演算子に等価string::compareordinalします。This operator is equivalent to String::CompareOrdinal.

String::operator>String::operator>

1 つの String オブジェクトの値が、2 番目の String オブジェクトの値より大きいかどうかを示します。Indicates whether the value of one String object is greater than the value of a second String object.

構文Syntax

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

パラメーターParameters

str1str1
1 つ目の String オブジェクト。The first String object.

str2str2
2 つ目の String オブジェクト。The second String object.

戻り値Return Value

str1 の値が str2 の値より大きい場合は true。それ以外の場合は falsetrue if the value of str1 is greater than the value of str2; otherwise, false.

RemarksRemarks

この演算子は明示的に呼び出す等価string::compareordinalと結果を 0 より大きい値を取得します。This operator is equivalent to explicitly calling String::CompareOrdinal and getting a result greater than zero.

String::operator>=String::operator>=

1 つの String オブジェクトの値が、2 番目の String オブジェクトの値以上かどうかを示します。Indicates whether the value of one String object is greater than or equal to the value of a second String object.

構文Syntax

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

パラメーターParameters

str1str1
1 つ目の String オブジェクト。The first String object.

str2str2
2 つ目の String オブジェクト。The second String object.

戻り値Return Value

str1 の値が str2 の値以上の場合は true。それ以外の場合は falsetrue if the value of str1 is greater than or equal to the value of str2; otherwise, false.

String::operator! =String::operator!=

指定された 2 つの String オブジェクトの値が異なるかどうかを示します。Indicates whether two specifed String objects have different values.

構文Syntax

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

パラメーターParameters

str1str1
比較する最初の String オブジェクト。The first String object to compare.

str2str2
比較する 2 番目の String オブジェクト。The second String object to compare.

戻り値Return Value

truestr1 と等しくない場合は str2。それ以外の場合は falsetrue if str1 is not equal to str2; otherwise, false.

String::operator<String::operator<

1 つの String オブジェクトの値が、2 番目の String オブジェクトの値より小さいかどうかを示します。Indicates whether the value of one String object is less than the value of a second String object.

構文Syntax

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

パラメーターParameters

str1str1
1 つ目の String オブジェクト。The first String object.

str2str2
2 つ目の String オブジェクト。The second String object.

戻り値Return Value

true の値が str1 の値より小さい場合は str2。それ以外の場合は falsetrue if the value of str1 is less than the value of str2; otherwise, false.

String::string コンス トラクターString::String Constructor

入力文字列データのコピーで String クラスの新しいインスタンスを初期化します。Initializes a new instance of the String class with a copy of the input string data.

構文Syntax

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

パラメーターParameters

ss
文字列を初期化する一連のワイド文字。A series of wide characters that initialize the string. char16char16

nn
文字列の長さを指定する数値。A number that specifies the length of the string.

RemarksRemarks

使用することがパフォーマンスが重要です。 ソース文字列の有効期間を制御する場合は、 platform::stringreference文字列の代わりにします。If performance is critical and you control the lifetime of the source string, you can use Platform::StringReference in place of String.

Example

String^ s = L"Hello!";

String::tostringString::ToString

値が現在の文字列と同じである String オブジェクトを返します。Returns a String object whose value is the same as the current string.

構文Syntax

String^ String::ToString();

戻り値Return Value

値が現在の文字列と同じである文字列オブジェクト。A String object whose value is the same as the current string.

関連項目See Also

Platform 名前空間Platform namespace