この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

String クラス

 

公開日: 2016年10月

テキストを一連の UTF-16 コード単位として表現します。

この型の .NET Framework ソース コードを参照するを参照してください。、 Reference Sourceです。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

System.Object
  System.String

<SerializableAttribute>
<ComVisibleAttribute(True)>
Public NotInheritable Class String
	Implements IComparable, ICloneable, IConvertible, IEnumerable,
	IComparable(Of String), IEnumerable(Of Char), IEquatable(Of String)

名前説明
System_CAPS_pubmethodString(Char*)

String クラスの新しいインスタンスを初期化し、指定した Unicode 文字配列を指すポインターにより示される値に設定します。

System_CAPS_pubmethodString(Char*, Int32, Int32)

String クラスの新しいインスタンスを初期化し、Unicode 文字の配列を指す指定のポインター、配列内の開始文字位置、および長さにより示される値に設定します。

System_CAPS_pubmethodString(Char, Int32)

String クラスの新しいインスタンスを初期化し、指定した回数だけ繰り返した指定の Unicode 文字が示す値に設定します。

System_CAPS_pubmethodString(Char())

String クラスの新しいインスタンスを初期化し、Unicode 文字の配列により示される値に設定します。

System_CAPS_pubmethodString(Char(), Int32, Int32)

String クラスの新しいインスタンスを初期化し、Unicode 文字の配列、配列内の開始文字位置、および長さにより示される値に設定します。

System_CAPS_pubmethodString(SByte*)

String クラスの新しいインスタンスを初期化し、8 ビット符号付き整数の配列を指すポインターにより示される値に設定します。

System_CAPS_pubmethodString(SByte*, Int32, Int32)

String クラスの新しいインスタンスを初期化し、8 ビット符号付き整数の配列を指す指定のポインター、配列内の開始位置、および長さにより示される値に設定します。

System_CAPS_pubmethodString(SByte*, Int32, Int32, Encoding)

String クラスの新しいインスタンスを初期化し、8 ビット符号付き整数の配列を指す指定のポインター、配列内の開始位置、長さ、および Encoding オブジェクトにより示される値に設定します。

名前説明
System_CAPS_pubpropertyChars(Int32)

現在の String オブジェクト内の指定された位置にある Char オブジェクトを取得します。

System_CAPS_pubpropertyLength

現在の String オブジェクト内の文字数を取得します。

名前説明
System_CAPS_pubmethodClone()

この String インスタンスへの参照を返します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32)

指定した 2 つの String オブジェクトの部分文字列を比較し、それらの相対位置を並べ替え順序で示す整数を返します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, Boolean)

指定した 2 つの String オブジェクトの部分文字列を比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを設定できます。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)

指定した 2 つの String オブジェクトの部分文字列を比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを指定し、比較に影響を及ぼすカルチャ固有の情報を使用します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, CultureInfo, CompareOptions)

指定した 2 つの String オブジェクトの部分文字列を比較し、2 つの部分文字列の互いのリレーションシップを並べ替え順序で示す整数を返します。比較時に、指定した比較オプションと、比較に影響を及ぼすカルチャ固有の情報を使用します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, Int32, String, Int32, Int32, StringComparison)

指定した規則を使用して、指定した 2 つの String オブジェクトの部分文字列を比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String)

指定した 2 つの String オブジェクトを比較し、それらの相対位置を並べ替え順序で示す整数を返します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, Boolean)

指定した 2 つの String オブジェクトを比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを設定できます。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, Boolean, CultureInfo)

指定した 2 つの String オブジェクトを比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを指定し、比較に影響を及ぼすカルチャ固有の情報を使用します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, CultureInfo, CompareOptions)

指定した 2 つの String オブジェクトを比較し、2 つの文字列の互いのリレーションシップを並べ替え順序で示す整数を返します。比較時に、指定した比較オプションと、比較に影響を及ぼすカルチャ固有の情報を使用します。

System_CAPS_pubmethodSystem_CAPS_staticCompare(String, String, StringComparison)

指定した規則を使用して、指定した 2 つの String オブジェクトを比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。

System_CAPS_pubmethodSystem_CAPS_staticCompareOrdinal(String, Int32, String, Int32, Int32)

それぞれの部分文字列の対応する Char オブジェクトの数値を評価することにより、指定した 2 つの String オブジェクトの部分文字列を比較します。

System_CAPS_pubmethodSystem_CAPS_staticCompareOrdinal(String, String)

それぞれの文字列の対応する String オブジェクトの数値を評価することで、指定した 2 つの Char を比較します。

System_CAPS_pubmethodCompareTo(Object)

このインスタンスと指定した Object とを比較し、並べ替え順序において、このインスタンスの位置が指定した Object の前、後ろ、または同じのいずれであるかを示します。

System_CAPS_pubmethodCompareTo(String)

このインスタンスと指定した String オブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した文字列の前、後ろ、または同じのいずれであるかを示します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(IEnumerable(Of String))

IEnumerable(Of T) 型の構築された String コレクションのメンバーを連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object)

指定されたオブジェクトの文字列形式を作成します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object, Object)

指定した 2 つのオブジェクトの文字列形式を連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object, Object, Object)

指定した 3 つのオブジェクトの文字列形式を連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object, Object, Object, Object)

4 つの指定したオブジェクトと、オプションの可変長パラメーター リストで指定した任意のオブジェクトの文字列表現を連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(Object())

指定された Object 配列の要素の文字列表記を連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(String, String)

指定した 2 つの String インスタンスを連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(String, String, String)

String の指定した 3 つのインスタンスを連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(String, String, String, String)

指定した 4 つの String インスタンスを連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(String())

指定した String 配列の要素を連結します。

System_CAPS_pubmethodSystem_CAPS_staticConcat(Of T)(IEnumerable(Of T))

IEnumerable(Of T) 実装のメンバーを連結します。

System_CAPS_pubmethodContains(String)

指定した部分文字列がこの文字列内に存在するかどうかを示す値を返します。

System_CAPS_pubmethodSystem_CAPS_staticCopy(String)

指定した String と同じ値を使用して、String の新しいインスタンスを作成します。

System_CAPS_pubmethodCopyTo(Int32, Char(), Int32, Int32)

このインスタンスの指定位置から指定した数の文字を、Unicode 文字の配列内の指定位置へコピーします。

System_CAPS_pubmethodEndsWith(String)

この文字列インスタンスの末尾が、指定した文字列と一致するかどうかを判断します。

System_CAPS_pubmethodEndsWith(String, Boolean, CultureInfo)

指定されたカルチャを使って比較した場合に、この文字列インスタンスの末尾が、指定された文字列と一致するかどうかを判断します。

System_CAPS_pubmethodEndsWith(String, StringComparison)

指定された比較オプションを使って比較した場合に、この文字列インスタンスの末尾が、指定された文字列と一致するかどうかを判断します。

System_CAPS_pubmethodEquals(Object)

このインスタンスと、指定したオブジェクトの値が同一かどうかを判断します。String オブジェクトを指定する必要があります。(Object.Equals(Object) をオーバーライドします。)

System_CAPS_pubmethodEquals(String)

このインスタンスと、指定した別の String の値が同一かどうかを判断します。

System_CAPS_pubmethodSystem_CAPS_staticEquals(String, String)

指定した 2 つの String オブジェクトの値が同一かどうかを判断します。

System_CAPS_pubmethodSystem_CAPS_staticEquals(String, String, StringComparison)

指定した 2 つの String オブジェクトの値が同一かどうかを判断します。 比較に使用するカルチャ、大文字と小文字の区別、および、並べ替え規則をパラメーターで指定します。

System_CAPS_pubmethodEquals(String, StringComparison)

この文字列と、指定した String オブジェクトの値が同一かどうかを判断します。 比較に使用するカルチャ、大文字と小文字の区別、および、並べ替え規則をパラメーターで指定します。

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object)

指定した文字列の 1 つまたは複数の書式項目を、対応するオブジェクトの文字列形式に置換します。 パラメーターにより、カルチャに固有の書式情報が指定されます。

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object, Object)

指定した文字列の書式項目を、指定した 2 つのオブジェクトの文字列形式に置換します。 パラメーターは、カルチャ固有の書式情報を指定します。

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object, Object, Object)

指定した文字列の書式項目を、指定した 3 つのオブジェクトの文字列形式に置換します。 パラメーターにより、カルチャに固有の書式設定情報を指定します。

System_CAPS_pubmethodSystem_CAPS_staticFormat(IFormatProvider, String, Object())

指定した文字列の書式項目を、指定した配列内の対応するオブジェクトの文字列表記に置換します。 パラメーターにより、カルチャ固有の書式情報が指定されます。

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object)

指定された文字列の 1 つ以上の書式項目を、指定されたオブジェクトの文字列表記に置換します。

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object, Object)

指定した文字列の書式項目を、指定した 2 つのオブジェクトの文字列形式に置換します。

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object, Object, Object)

指定した文字列の書式項目を、指定した 3 つのオブジェクトの文字列形式に置換します。

System_CAPS_pubmethodSystem_CAPS_staticFormat(String, Object())

指定した文字列の書式項目を、指定した配列内の対応するオブジェクトの文字列形式に置換します。

System_CAPS_pubmethodGetEnumerator()

この文字列に含まれる個々の文字を反復処理するオブジェクトを取得します。

System_CAPS_pubmethodGetHashCode()

この文字列のハッシュ コードを返します。(Object.GetHashCode() をオーバーライドします。)

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_pubmethodGetTypeCode()

TypeCode クラスには String を返します。

System_CAPS_pubmethodIndexOf(Char)

指定した Unicode 文字がこの文字列内で最初に見つかった位置の 0 から始まるインデックスをレポートします。

System_CAPS_pubmethodIndexOf(Char, Int32)

指定した Unicode 文字がこの文字列内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は、指定した文字位置から開始されます。

System_CAPS_pubmethodIndexOf(Char, Int32, Int32)

指定文字がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は指定した文字位置から開始され、指定した数の文字位置が検査されます。

System_CAPS_pubmethodIndexOf(String)

指定された文字列がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。

System_CAPS_pubmethodIndexOf(String, Int32)

指定された文字列がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は、指定した文字位置から開始されます。

System_CAPS_pubmethodIndexOf(String, Int32, Int32)

指定された文字列がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は指定した文字位置から開始され、指定した数の文字位置が検査されます。

System_CAPS_pubmethodIndexOf(String, Int32, Int32, StringComparison)

指定した文字列が現在の String オブジェクト内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 現在の文字列での検索開始位置、現在の文字列で検索する文字の数、および指定した文字列に使用する検索の種類をパラメーターで指定します。

System_CAPS_pubmethodIndexOf(String, Int32, StringComparison)

指定した文字列が現在の String オブジェクト内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 現在の文字列内での検索の開始位置、および指定した文字列に使用する検索の種類をパラメーターで指定します。

System_CAPS_pubmethodIndexOf(String, StringComparison)

指定した文字列が現在の String オブジェクト内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 指定した文字列に使用する検索の種類をパラメーターで指定します。

System_CAPS_pubmethodIndexOfAny(Char())

Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置の 0 から始まるインデックスをレポートします。

System_CAPS_pubmethodIndexOfAny(Char(), Int32)

Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は、指定した文字位置から開始されます。

System_CAPS_pubmethodIndexOfAny(Char(), Int32, Int32)

Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は指定した文字位置から開始され、指定した数の文字位置が検査されます。

System_CAPS_pubmethodInsert(Int32, String)

このインスタンス内の指定したインデックス位置に指定した文字列を挿入した、新しい文字列を返します。

System_CAPS_pubmethodSystem_CAPS_staticIntern(String)

指定した String へのシステム参照を取得します。

System_CAPS_pubmethodSystem_CAPS_staticIsInterned(String)

指定した String への参照を取得します。

System_CAPS_pubmethodIsNormalized()

この文字列が、Unicode 正規形 C であるかどうかを示します。

System_CAPS_pubmethodIsNormalized(NormalizationForm)

この文字列が、指定された Unicode 正規形であるかどうかを示します。

System_CAPS_pubmethodSystem_CAPS_staticIsNullOrEmpty(String)

指定された文字列が null または Empty 文字列であるかどうかを示します。

System_CAPS_pubmethodSystem_CAPS_staticIsNullOrWhiteSpace(String)

指定された文字列が null または空であるか、空白文字だけで構成されているかどうかを示します。

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, IEnumerable(Of String))

IEnumerable(Of T) 型の構築された String コレクションのメンバーを連結します。各メンバーの間には、指定した区切り記号が挿入されます。

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, Object())

オブジェクト配列の要素を連結します。各要素の間には、指定した区切り記号が挿入されます。

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, String())

文字列配列のすべての要素を連結します。各要素の間には、指定した区切り記号が挿入されます。

System_CAPS_pubmethodSystem_CAPS_staticJoin(String, String(), Int32, Int32)

文字列配列の指定した要素を連結します。各要素の間には、指定した区切り記号が挿入されます。

System_CAPS_pubmethodSystem_CAPS_staticJoin(Of T)(String, IEnumerable(Of T))

コレクションのメンバーを連結します。各メンバーの間には、指定した区切り記号が挿入されます。

System_CAPS_pubmethodLastIndexOf(Char)

このインスタンス内で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。

System_CAPS_pubmethodLastIndexOf(Char, Int32)

このインスタンス内で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。

System_CAPS_pubmethodLastIndexOf(Char, Int32, Int32)

このインスタンス内の部分文字列で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。

System_CAPS_pubmethodLastIndexOf(String)

指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。

System_CAPS_pubmethodLastIndexOf(String, Int32)

このインスタンス内で最後に出現する指定された文字列の 0 から始まるインデックス位置をレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。

System_CAPS_pubmethodLastIndexOf(String, Int32, Int32)

指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始され、指定した文字位置の数だけ文字列の先頭に向かって逆向きに移動して実行されます。

System_CAPS_pubmethodLastIndexOf(String, Int32, Int32, StringComparison)

指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。 指定した文字列を検索するときに実行する比較の種類をパラメーターで指定します。

System_CAPS_pubmethodLastIndexOf(String, Int32, StringComparison)

指定した文字列が現在の String オブジェクト内で最後に見つかった 0 から始まる位置のインデックスをレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。 指定した文字列を検索するときに実行する比較の種類をパラメーターで指定します。

System_CAPS_pubmethodLastIndexOf(String, StringComparison)

指定した文字列が現在の String オブジェクト内で最後に見つかった 0 から始まる位置のインデックスをレポートします。 指定した文字列に使用する検索の種類をパラメーターで指定します。

System_CAPS_pubmethodLastIndexOfAny(Char())

Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。

System_CAPS_pubmethodLastIndexOfAny(Char(), Int32)

Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。

System_CAPS_pubmethodLastIndexOfAny(Char(), Int32, Int32)

Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。

System_CAPS_pubmethodNormalize()

この文字列と同じテキスト値を持ち、なおかつ、バイナリ表現が Unicode 正規形 C である新しい文字列を返します。

System_CAPS_pubmethodNormalize(NormalizationForm)

この文字列と同じテキスト値を持ち、なおかつ、バイナリ表現が、指定された Unicode 正規形である新しい文字列を返します。

System_CAPS_pubmethodPadLeft(Int32)

指定された文字数になるまで左側に空白を埋め込むことで、このインスタンス内の文字を右寄せした新しい文字列を返します。

System_CAPS_pubmethodPadLeft(Int32, Char)

指定された文字数になるまで左側に指定された Unicode 文字を埋め込むことで、このインスタンス内の文字を右寄せした新しい文字列を返します。

System_CAPS_pubmethodPadRight(Int32)

指定された文字数になるまで右側に空白を埋め込むことで、この文字列内の文字を左寄せした新しい文字列を返します。

System_CAPS_pubmethodPadRight(Int32, Char)

指定された文字数になるまで右側に指定された Unicode 文字を埋め込むことで、この文字列内の文字を左寄せした新しい文字列を返します。

System_CAPS_pubmethodRemove(Int32)

現在のインスタンスの指定した位置から指定した最後の位置までの全文字が削除された新しい文字列を返します。

System_CAPS_pubmethodRemove(Int32, Int32)

現在のインスタンス内の指定した位置から指定した文字数が削除された新しい文字列を返します。

System_CAPS_pubmethodReplace(Char, Char)

このインスタンスに出現する指定された Unicode 文字をすべて、別の指定された Unicode 文字に置換した新しい文字列を返します。

System_CAPS_pubmethodReplace(String, String)

現在のインスタンスに出現する指定した文字列をすべて、別に指定した文字列に置換した新しい文字列を返します。

System_CAPS_pubmethodSplit(Char())

配列内の文字に基づいて文字列を部分文字列に分割します。

System_CAPS_pubmethodSplit(Char(), Int32)

配列内の文字に基づいて文字列を最大数の部分文字列に分割します。 返される部分文字列の最大数を指定します。

System_CAPS_pubmethodSplit(Char(), Int32, StringSplitOptions)

配列内の文字に基づいて文字列を最大数の部分文字列に分割します。

System_CAPS_pubmethodSplit(Char(), StringSplitOptions)

配列内の文字に基づいて文字列を部分文字列に分割します。 部分文字列が空の配列の要素を含めるかどうかを指定することができます。

System_CAPS_pubmethodSplit(String(), Int32, StringSplitOptions)

配列内の文字列に基づいて文字列を最大数の部分文字列に分割します。 部分文字列が空の配列の要素を含めるかどうかを指定することができます。

System_CAPS_pubmethodSplit(String(), StringSplitOptions)

配列内の文字列に基づいて文字列を部分文字列に分割します。 部分文字列が空の配列の要素を含めるかどうかを指定することができます。

System_CAPS_pubmethodStartsWith(String)

この文字列インスタンスの先頭が、指定した文字列と一致するかどうかを判断します。

System_CAPS_pubmethodStartsWith(String, Boolean, CultureInfo)

指定されたカルチャを使って比較した場合に、この文字列インスタンスの先頭が、指定された文字列と一致するかどうかを判断します。

System_CAPS_pubmethodStartsWith(String, StringComparison)

指定された比較オプションを使って比較した場合に、この文字列インスタンスの先頭が、指定された文字列と一致するかどうかを判断します。

System_CAPS_pubmethodSubstring(Int32)

このインスタンスから部分文字列を取得します。 部分文字列は、文字列中の指定した文字の位置で開始し、文字列の末尾まで続きます。

System_CAPS_pubmethodSubstring(Int32, Int32)

インスタンスから部分文字列を取得します。 この部分文字列は、指定した文字位置から開始し、指定した文字数の文字列です。

System_CAPS_pubmethodToCharArray()

このインスタンスの文字を Unicode 文字配列へコピーします。

System_CAPS_pubmethodToCharArray(Int32, Int32)

このインスタンスの指定した部分文字列の文字を Unicode 文字配列へコピーします。

System_CAPS_pubmethodToLower()

この文字列のコピーを小文字に変換して返します。

System_CAPS_pubmethodToLower(CultureInfo)

指定されたカルチャの大文字と小文字の規則を使用して、この文字列のコピーを小文字に変換して返します。

System_CAPS_pubmethodToLowerInvariant()

インバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを小文字に変換して返します。

System_CAPS_pubmethodToString()

String のこのインスタンスを返します。実際の変換処理は実行されません。(Object.ToString() をオーバーライドします。)

System_CAPS_pubmethodToString(IFormatProvider)

String のこのインスタンスを返します。実際の変換処理は実行されません。

System_CAPS_pubmethodToUpper()

この文字列のコピーを大文字に変換して返します。

System_CAPS_pubmethodToUpper(CultureInfo)

指定されたカルチャの大文字と小文字の規則を使用して、この文字列のコピーを大文字に変換して返します。

System_CAPS_pubmethodToUpperInvariant()

インバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを大文字に変換して返します。

System_CAPS_pubmethodTrim()

現在の String オブジェクトの先頭および末尾にある空白文字をすべて削除します。

System_CAPS_pubmethodTrim(Char())

現在の String オブジェクトの先頭および末尾から、配列で指定された文字セットをすべて削除します。

System_CAPS_pubmethodTrimEnd(Char())

現在の String オブジェクトの末尾から、配列で指定された文字セットをすべて削除します。

System_CAPS_pubmethodTrimStart(Char())

現在の String オブジェクトの先頭から、配列で指定された文字セットをすべて削除します。

名前説明
System_CAPS_pubfieldSystem_CAPS_staticEmpty

空の文字列を表します。 このフィールドは読み取り専用です。

名前説明
System_CAPS_puboperatorSystem_CAPS_staticEquality(String, String)

指定した 2 つの文字列の値が同一かどうかを判断します。

System_CAPS_puboperatorSystem_CAPS_staticInequality(String, String)

指定した 2 つの文字列の値が異なるかどうかを判断します。

名前説明
System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable(Of Char).GetEnumerator()

現在の String オブジェクトを反復処理する列挙子を返します。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIEnumerable.GetEnumerator()

現在の String オブジェクトを反復処理する列挙子を返します。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToBoolean(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToBoolean」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToByte(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToByte」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToChar(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToChar」をご覧ください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDateTime(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToDateTime」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDecimal(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToDecimal」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToDouble(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToDouble」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt16(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToInt16」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt32(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToInt32」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToInt64(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToInt64」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSByte(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToSByte」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToSingle(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToSingle」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToType(Type, IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToType」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt16(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToUInt16」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt32(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToUInt32」を参照してください。

System_CAPS_pubinterfaceSystem_CAPS_privmethodIConvertible.ToUInt64(IFormatProvider)

この API は 製品 インフラストラクチャをサポートします。コードから直接使用するためのものではありません。 このメンバーの詳細については、「ToUInt64」を参照してください。

名前説明
System_CAPS_pubmethodAggregate(Of Char)(Func(Of Char, Char, Char))

オーバーロードされます。シーケンスにアキュムレータ関数を適用します。(Enumerable によって定義されています。)

System_CAPS_pubmethodAggregate(Of Char, TAccumulate)(TAccumulate, Func(Of TAccumulate, Char, TAccumulate))

オーバーロードされます。シーケンスにアキュムレータ関数を適用します。 指定されたシード値が最初のアキュムレータ値として使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodAggregate(Of Char, TAccumulate, TResult)(TAccumulate, Func(Of TAccumulate, Char, TAccumulate), Func(Of TAccumulate, TResult))

オーバーロードされます。シーケンスにアキュムレータ関数を適用します。 指定したシード値は最初のアキュムレータ値として使用され、指定した関数は結果値の選択に使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodAll(Of Char)(Func(Of Char, Boolean))

シーケンスのすべての要素が条件を満たすかどうかを決定します。(Enumerable によって定義されています。)

System_CAPS_pubmethodAny(Of Char)()

オーバーロードされます。シーケンスがすべての要素を含めるかどうかを決定します。(Enumerable によって定義されています。)

System_CAPS_pubmethodAny(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。シーケンスの任意の要素が条件を満たすかどうかを決定します。(Enumerable によって定義されています。)

System_CAPS_pubmethodAsEnumerable(Of Char)()

として型指定された入力返す IEnumerable(Of T)します。(Enumerable によって定義されています。)

System_CAPS_pubmethodAsParallel()

オーバーロードされます。クエリの並列化を有効にします。(ParallelEnumerable によって定義されています。)

System_CAPS_pubmethodAsParallel(Of Char)()

オーバーロードされます。クエリの並列化を有効にします。(ParallelEnumerable によって定義されています。)

System_CAPS_pubmethodAsQueryable()

オーバーロードされます。 IEnumerableIQueryableに変換します。 (Queryable によって定義されています。)

System_CAPS_pubmethodAsQueryable(Of Char)()

オーバーロードされます。ジェネリック型に変換 IEnumerable(Of T) 汎用 IQueryable(Of T)します。(Queryable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Decimal))

オーバーロードされます。一連の平均値を計算 Decimal 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Double))

オーバーロードされます。一連の平均値を計算 Double 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Int32))

オーバーロードされます。一連の平均値を計算 Int32 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Int64))

オーバーロードされます。一連の平均値を計算 Int64 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Nullable(Of Decimal)))

オーバーロードされます。Null 許容型のシーケンスの平均を計算 Decimal 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Nullable(Of Double)))

オーバーロードされます。Null 許容型のシーケンスの平均を計算 Double 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Nullable(Of Int32)))

オーバーロードされます。Null 許容型のシーケンスの平均を計算 Int32 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Nullable(Of Int64)))

オーバーロードされます。Null 許容型のシーケンスの平均を計算 Int64 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Nullable(Of Single)))

オーバーロードされます。Null 許容型のシーケンスの平均を計算 Single 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodAverage(Of Char)(Func(Of Char, Single))

オーバーロードされます。一連の平均値を計算 Single 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodCast(Of TResult)()

要素をキャスト、 IEnumerable 指定した型にします。(Enumerable によって定義されています。)

System_CAPS_pubmethodConcat(Of Char)(IEnumerable(Of Char))

2 つのシーケンスを連結します。(Enumerable によって定義されています。)

System_CAPS_pubmethodContains(Of Char)(Char)

オーバーロードされます。シーケンスが既定の等値比較子を使用して、指定した要素を含めるかどうかを決定します。(Enumerable によって定義されています。)

System_CAPS_pubmethodContains(Of Char)(Char, IEqualityComparer(Of Char))

オーバーロードされます。指定したを使用して指定された要素がシーケンスに含まれているかどうか判断 IEqualityComparer(Of T)します。(Enumerable によって定義されています。)

System_CAPS_pubmethodCount(Of Char)()

オーバーロードされます。シーケンス内の要素の数を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodCount(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定されたシーケンス内の要素が条件を満たすを表す数値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodDefaultIfEmpty(Of Char)()

オーバーロードされます。シーケンスが空の場合は、シングルトン コレクションに指定されたシーケンスまたは型パラメーターの既定値の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodDefaultIfEmpty(Of Char)(Char)

オーバーロードされます。シーケンスが空の場合は、シングルトン コレクションに指定されたシーケンスまたは指定した値の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodDistinct(Of Char)()

オーバーロードされます。値を比較する既定の等値比較子を使用して、シーケンスから一意の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodDistinct(Of Char)(IEqualityComparer(Of Char))

オーバーロードされます。指定したを使用してシーケンスから一意の要素を返します IEqualityComparer(Of T) 値を比較します。(Enumerable によって定義されています。)

System_CAPS_pubmethodElementAt(Of Char)(Int32)

シーケンスの指定したインデックス位置にある要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodElementAtOrDefault(Of Char)(Int32)

シーケンス内の指定したインデックス位置にある要素を返します。インデックスが範囲外の場合は既定値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodExcept(Of Char)(IEnumerable(Of Char))

オーバーロードされます。既定の等値比較子を使用して値を比較することには、2 つのシーケンスの差集合を生成します。(Enumerable によって定義されています。)

System_CAPS_pubmethodExcept(Of Char)(IEnumerable(Of Char), IEqualityComparer(Of Char))

オーバーロードされます。指定されたを使用して 2 つのシーケンスの差集合を生成 IEqualityComparer(Of T) 値を比較します。(Enumerable によって定義されています。)

System_CAPS_pubmethodFirst(Of Char)()

オーバーロードされます。シーケンスの最初の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodFirst(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定された条件を満たす、シーケンスの最初の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodFirstOrDefault(Of Char)()

オーバーロードされます。シーケンスの最初の要素を返します。シーケンスに要素が含まれていない場合は既定値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodFirstOrDefault(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。条件を満たす、シーケンスの最初の要素を返します。このような要素が見つからない場合は既定値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey)(Func(Of Char, TKey))

オーバーロードされます。指定されたキー セレクター関数に従ってシーケンスの要素をグループ化します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey)(Func(Of Char, TKey), IEqualityComparer(Of TKey))

オーバーロードされます。指定された比較子を使用してキーを比較して、指定されたキー セレクター関数に従ってシーケンスの要素をグループ化します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey, TElement)(Func(Of Char, TKey), Func(Of Char, TElement))

オーバーロードされます。指定されたキー セレクター関数と、指定された関数を使用して各グループの要素を射影に従ってシーケンスの要素をグループ化します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey, TElement)(Func(Of Char, TKey), Func(Of Char, TElement), IEqualityComparer(Of TKey))

オーバーロードされます。キー セレクター関数に従ってシーケンスの要素をグループ化します。 キーの比較には、比較子を使用し、各グループの要素の射影には、指定された関数を使用します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey, TResult)(Func(Of Char, TKey), Func(Of TKey, IEnumerable(Of Char), TResult))

オーバーロードされます。指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey, TResult)(Func(Of Char, TKey), Func(Of TKey, IEnumerable(Of Char), TResult), IEqualityComparer(Of TKey))

オーバーロードされます。指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 キーの比較には、指定された比較子を使用します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey, TElement, TResult)(Func(Of Char, TKey), Func(Of Char, TElement), Func(Of TKey, IEnumerable(Of TElement), TResult))

オーバーロードされます。指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 各グループの要素は、指定された関数を使用して射影されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupBy(Of Char, TKey, TElement, TResult)(Func(Of Char, TKey), Func(Of Char, TElement), Func(Of TKey, IEnumerable(Of TElement), TResult), IEqualityComparer(Of TKey))

オーバーロードされます。指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 キー値の比較には、指定された比較子を使用し、各グループの要素の射影には、指定された関数を使用します。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupJoin(Of Char, TInner, TKey, TResult)(IEnumerable(Of TInner), Func(Of Char, TKey), Func(Of TInner, TKey), Func(Of Char, IEnumerable(Of TInner), TResult))

オーバーロードされます。結果をグループ化キーが等しいかどうかに基づいて 2 つのシーケンスの要素相互に関連付けます。 キーの比較には既定の等値比較子が使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodGroupJoin(Of Char, TInner, TKey, TResult)(IEnumerable(Of TInner), Func(Of Char, TKey), Func(Of TInner, TKey), Func(Of Char, IEnumerable(Of TInner), TResult), IEqualityComparer(Of TKey))

オーバーロードされます。結果をグループ化キーの等値に基づいて 2 つのシーケンスの要素相互に関連付けます。 指定した IEqualityComparer(Of T) キーを比較するために使用します。(Enumerable によって定義されています。)

System_CAPS_pubmethodIntersect(Of Char)(IEnumerable(Of Char))

オーバーロードされます。値を比較する既定の等値比較子を使用して、2 つのシーケンスの積集合を生成します。(Enumerable によって定義されています。)

System_CAPS_pubmethodIntersect(Of Char)(IEnumerable(Of Char), IEqualityComparer(Of Char))

オーバーロードされます。指定されたを使用して 2 つのシーケンスの積集合を生成IEqualityComparer(Of T)値を比較します。(Enumerable によって定義されています。)

System_CAPS_pubmethodJoin(Of Char, TInner, TKey, TResult)(IEnumerable(Of TInner), Func(Of Char, TKey), Func(Of TInner, TKey), Func(Of Char, TInner, TResult))

オーバーロードされます。一致するキーに基づいて 2 つのシーケンスの要素を基準になります。 キーの比較には既定の等値比較子が使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodJoin(Of Char, TInner, TKey, TResult)(IEnumerable(Of TInner), Func(Of Char, TKey), Func(Of TInner, TKey), Func(Of Char, TInner, TResult), IEqualityComparer(Of TKey))

オーバーロードされます。一致するキーに基づいて 2 つのシーケンスの要素を基準になります。 指定した IEqualityComparer(Of T) キーを比較するために使用します。(Enumerable によって定義されています。)

System_CAPS_pubmethodLast(Of Char)()

オーバーロードされます。シーケンスの最後の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodLast(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定された条件を満たす、シーケンスの最後の要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodLastOrDefault(Of Char)()

オーバーロードされます。シーケンスの最後の要素を返します。シーケンスに要素が含まれていない場合は既定値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodLastOrDefault(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。条件を満たす、シーケンスの最後の要素を返します。このような要素が見つからない場合は既定値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodLongCount(Of Char)()

オーバーロードされます。返します、Int64シーケンス内の要素の合計数を表すです。(Enumerable によって定義されています。)

System_CAPS_pubmethodLongCount(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。返します。、 Int64 条件を満たすシーケンス内の要素の数を表します。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)()

オーバーロードされます。ジェネリック シーケンスの最大値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Decimal))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最大値を返します Decimal 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Double))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最大値を返します Double 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Int32))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最大値を返します Int32 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Int64))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最大値を返します Int64 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Nullable(Of Decimal)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、null 許容最大値を返します Decimal 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Nullable(Of Double)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、null 許容最大値を返します Double 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Nullable(Of Int32)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、null 許容最大値を返します Int32 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Nullable(Of Int64)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、null 許容最大値を返します Int64 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Nullable(Of Single)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、null 許容最大値を返します Single 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char)(Func(Of Char, Single))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最大値を返します Single 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMax(Of Char, TResult)(Func(Of Char, TResult))

オーバーロードされます。ジェネリック シーケンスの各要素に対して変換関数の呼び出しを結果の最大値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)()

オーバーロードされます。ジェネリック シーケンスの最小値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Decimal))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を返します Decimal 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Double))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を返します Double 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Int32))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を返します Int32 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Int64))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を返します Int64 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Nullable(Of Decimal)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を null 許容型を返します Decimal 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Nullable(Of Double)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を null 許容型を返します Double 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Nullable(Of Int32)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を null 許容型を返します Int32 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Nullable(Of Int64)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を null 許容型を返します Int64 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Nullable(Of Single)))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を null 許容型を返します Single 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char)(Func(Of Char, Single))

オーバーロードされます。シーケンスの各要素に対して変換関数を呼び出し、最小値を返します Single 値。(Enumerable によって定義されています。)

System_CAPS_pubmethodMin(Of Char, TResult)(Func(Of Char, TResult))

オーバーロードされます。ジェネリック シーケンスの各要素に対して変換関数の呼び出しを結果の最小値を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodOfType(Of TResult)()

要素をフィルター処理、 IEnumerable 、指定した型に基づいています。(Enumerable によって定義されています。)

System_CAPS_pubmethodOrderBy(Of Char, TKey)(Func(Of Char, TKey))

オーバーロードされます。キーに従って昇順のシーケンスの要素を並べ替えます。(Enumerable によって定義されています。)

System_CAPS_pubmethodOrderBy(Of Char, TKey)(Func(Of Char, TKey), IComparer(Of TKey))

オーバーロードされます。指定された比較子を使用して、昇順のシーケンスの要素を並べ替えます。(Enumerable によって定義されています。)

System_CAPS_pubmethodOrderByDescending(Of Char, TKey)(Func(Of Char, TKey))

オーバーロードされます。キーに従って降順のシーケンスの要素を並べ替えます。(Enumerable によって定義されています。)

System_CAPS_pubmethodOrderByDescending(Of Char, TKey)(Func(Of Char, TKey), IComparer(Of TKey))

オーバーロードされます。指定された比較子を使用してシーケンスの要素を降順に並べ替えます。(Enumerable によって定義されています。)

System_CAPS_pubmethodReverse(Of Char)()

シーケンス内の要素の順序を反転します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSelect(Of Char, TResult)(Func(Of Char, TResult))

オーバーロードされます。シーケンスの各要素を新しいフォームに射影します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSelect(Of Char, TResult)(Func(Of Char, Int32, TResult))

オーバーロードされます。要素のインデックスを組み込むことにより、新しいフォームにシーケンスの各要素を射影します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSelectMany(Of Char, TResult)(Func(Of Char, IEnumerable(Of TResult)))

オーバーロードされます。シーケンスの各要素、 IEnumerable(Of T) し、結果のシーケンスを 1 つのシーケンスに平坦化します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSelectMany(Of Char, TResult)(Func(Of Char, Int32, IEnumerable(Of TResult)))

オーバーロードされます。シーケンスの各要素、 IEnumerable(Of T), 、結果のシーケンスを 1 つのシーケンスにフラット化します。 各ソース要素のインデックスは、その要素の射影されたフォームで使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodSelectMany(Of Char, TCollection, TResult)(Func(Of Char, IEnumerable(Of TCollection)), Func(Of Char, TCollection, TResult))

オーバーロードされます。シーケンスの各要素、 IEnumerable(Of T), 、結果のシーケンスを 1 つのシーケンスに平坦化し、そこにある各要素に対して結果のセレクター関数を呼び出します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSelectMany(Of Char, TCollection, TResult)(Func(Of Char, Int32, IEnumerable(Of TCollection)), Func(Of Char, TCollection, TResult))

オーバーロードされます。シーケンスの各要素、 IEnumerable(Of T), 、結果のシーケンスを 1 つのシーケンスに平坦化し、そこにある各要素に対して結果のセレクター関数を呼び出します。 各ソース要素のインデックスは、その要素の中間の射影されたフォームで使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodSequenceEqual(Of Char)(IEnumerable(Of Char))

オーバーロードされます。型に対して既定の等値比較子を使用して要素を比較することで、2 つのシーケンスが等しいかどうかを決定します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSequenceEqual(Of Char)(IEnumerable(Of Char), IEqualityComparer(Of Char))

オーバーロードされます。使用して、その要素を比較することによって 2 つのシーケンスが等しいかどうかを判断 IEqualityComparer(Of T)します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSingle(Of Char)()

オーバーロードされます。シーケンスの唯一の要素を返し、シーケンス内の要素が 1 つだけでない場合は例外をスローします。(Enumerable によって定義されています。)

System_CAPS_pubmethodSingle(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定された条件を満たす、シーケンスの唯一の要素を返し、そのような要素が複数存在する場合は例外をスローします。(Enumerable によって定義されています。)

System_CAPS_pubmethodSingleOrDefault(Of Char)()

オーバーロードされます。シーケンスが空である場合は、シーケンス、または既定値の唯一の要素を返しますこのメソッドは、シーケンス内に複数の要素がある場合に例外をスローします。(Enumerable によって定義されています。)

System_CAPS_pubmethodSingleOrDefault(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定された条件を満たすシーケンスの唯一の要素、またはそのような要素がない場合は既定値を返します。このメソッドは、複数の要素が条件を満たす場合に例外をスローします。(Enumerable によって定義されています。)

System_CAPS_pubmethodSkip(Of Char)(Int32)

指定された数のシーケンス内の要素をバイパスし、残りの要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodSkipWhile(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定した条件が true で、残りの要素を返す限りは、シーケンス内の要素をバイパスします。(Enumerable によって定義されています。)

System_CAPS_pubmethodSkipWhile(Of Char)(Func(Of Char, Int32, Boolean))

オーバーロードされます。指定した条件が true で、残りの要素を返す限りは、シーケンス内の要素をバイパスします。 要素のインデックスは、述語関数のロジックで使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Decimal))

オーバーロードされます。シーケンスの合計を計算 Decimal 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Double))

オーバーロードされます。シーケンスの合計を計算 Double 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Int32))

オーバーロードされます。シーケンスの合計を計算 Int32 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Int64))

オーバーロードされます。シーケンスの合計を計算 Int64 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Nullable(Of Decimal)))

オーバーロードされます。Null 許容型のシーケンスの合計を計算 Decimal 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Nullable(Of Double)))

オーバーロードされます。Null 許容型のシーケンスの合計を計算 Double 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Nullable(Of Int32)))

オーバーロードされます。Null 許容型のシーケンスの合計を計算 Int32 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Nullable(Of Int64)))

オーバーロードされます。Null 許容型のシーケンスの合計を計算 Int64 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Nullable(Of Single)))

オーバーロードされます。Null 許容型のシーケンスの合計を計算 Single 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodSum(Of Char)(Func(Of Char, Single))

オーバーロードされます。シーケンスの合計を計算 Single 入力シーケンスの各要素に対して変換関数を呼び出すことによって取得される値。(Enumerable によって定義されています。)

System_CAPS_pubmethodTake(Of Char)(Int32)

シーケンスの先頭から指定した数の連続する要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodTakeWhile(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。指定された条件が true の場合に限り、シーケンスから要素を返します。(Enumerable によって定義されています。)

System_CAPS_pubmethodTakeWhile(Of Char)(Func(Of Char, Int32, Boolean))

オーバーロードされます。指定された条件が true の場合に限り、シーケンスから要素を返します。 要素のインデックスは、述語関数のロジックで使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodToArray(Of Char)()

配列を作成、 IEnumerable(Of T)です。(Enumerable によって定義されています。)

System_CAPS_pubmethodToDictionary(Of Char, TKey)(Func(Of Char, TKey))

オーバーロードされます。作成、 Dictionary(Of TKey, TValue) から、 IEnumerable(Of T) 指定されたキー セレクター関数に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToDictionary(Of Char, TKey)(Func(Of Char, TKey), IEqualityComparer(Of TKey))

オーバーロードされます。作成、 Dictionary(Of TKey, TValue) から、 IEnumerable(Of T) 指定されたキー セレクター関数およびキーの比較子に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToDictionary(Of Char, TKey, TElement)(Func(Of Char, TKey), Func(Of Char, TElement))

オーバーロードされます。作成、 Dictionary(Of TKey, TValue) から、 IEnumerable(Of T) 指定されたキー セレクター関数および要素セレクター関数に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToDictionary(Of Char, TKey, TElement)(Func(Of Char, TKey), Func(Of Char, TElement), IEqualityComparer(Of TKey))

オーバーロードされます。作成、 Dictionary(Of TKey, TValue) から、 IEnumerable(Of T) 指定されたキー セレクター関数、比較演算子、および要素セレクター関数に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToList(Of Char)()

作成、 List(Of T) から、 IEnumerable(Of T)です。(Enumerable によって定義されています。)

System_CAPS_pubmethodToLookup(Of Char, TKey)(Func(Of Char, TKey))

オーバーロードされます。作成、 Lookup(Of TKey, TElement) から、 IEnumerable(Of T) 指定されたキー セレクター関数に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToLookup(Of Char, TKey)(Func(Of Char, TKey), IEqualityComparer(Of TKey))

オーバーロードされます。作成、 Lookup(Of TKey, TElement) から、 IEnumerable(Of T) 指定されたキー セレクター関数およびキーの比較子に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToLookup(Of Char, TKey, TElement)(Func(Of Char, TKey), Func(Of Char, TElement))

オーバーロードされます。作成、 Lookup(Of TKey, TElement) から、 IEnumerable(Of T) 指定されたキー セレクター関数および要素セレクター関数に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodToLookup(Of Char, TKey, TElement)(Func(Of Char, TKey), Func(Of Char, TElement), IEqualityComparer(Of TKey))

オーバーロードされます。作成、 Lookup(Of TKey, TElement) から、 IEnumerable(Of T) 指定されたキー セレクター関数、比較演算子、および要素セレクター関数に従ってします。(Enumerable によって定義されています。)

System_CAPS_pubmethodUnion(Of Char)(IEnumerable(Of Char))

オーバーロードされます。既定の等値比較子を使用して 2 つのシーケンスの和集合を生成します。(Enumerable によって定義されています。)

System_CAPS_pubmethodUnion(Of Char)(IEnumerable(Of Char), IEqualityComparer(Of Char))

オーバーロードされます。指定したを使用して 2 つのシーケンスの和集合を生成 IEqualityComparer(Of T)します。(Enumerable によって定義されています。)

System_CAPS_pubmethodWhere(Of Char)(Func(Of Char, Boolean))

オーバーロードされます。述語に基づいて値のシーケンスをフィルター処理します。(Enumerable によって定義されています。)

System_CAPS_pubmethodWhere(Of Char)(Func(Of Char, Int32, Boolean))

オーバーロードされます。述語に基づいて値のシーケンスをフィルター処理します。 各要素のインデックスは、述語関数のロジックで使用されます。(Enumerable によって定義されています。)

System_CAPS_pubmethodZip(Of Char, TSecond, TResult)(IEnumerable(Of TSecond), Func(Of Char, TSecond, TResult))

結果のシーケンスを生成する、2 つのシーケンスの対応する要素に指定された関数を適用します。(Enumerable によって定義されています。)

System_CAPS_noteメモ

この型の .NET Framework ソース コードを表示するを参照してください。、 Reference Sourceです。 ソース コードをオンラインで参照するか、リファレンスをダウンロードしてオフラインで表示するか、デバッグ中にソース (パッチや更新を含む) をステップ実行することができます。 instructionsを参照してください。

文字列は、テキストを表現するために使用される文字のシーケンシャル コレクションです。 AStringオブジェクトは、シーケンシャル コレクションのSystem.Charオブジェクトを表す文字列です。System.Charオブジェクトは utf-16 コード単位に対応します。 値、Stringオブジェクトのシーケンシャル コレクションの内容は、System.Charオブジェクト、および値が変更可能である (つまり、これが読み取り専用)。 文字列の不変性に関する詳細については、次を参照してください。、不変性と StringBuilder クラスこのトピックで後述します。 最大サイズ、Stringメモリ内のオブジェクトが 2 GB、または約 10億文字です。

このセクションの内容:

文字列オブジェクトをインスタンス化します。
Char 型のオブジェクトと Unicode 文字
文字列と Unicode 標準
文字列と埋め込まれた null 文字
文字列とインデックス
Null 文字列と空の文字列
不変性と StringBuilder クラス
カルチャに依存する操作との序数
正規化
カテゴリ別の文字列操作

インスタンス化、String次の方法でオブジェクト。

  • 文字列リテラルを割り当てることによって、String変数。 これは、文字列を作成するための最も一般的に使用されるメソッドです。 次の例では、割り当てを使用して、いくつかの文字列を作成します。 C# の場合は、円記号 (\) が、エスケープ文字、文字列にリテラル円記号をエスケープする必要がありますか、または @-引用符で囲まれた文字列全体をする必要がありますに注意してください。

    Dim string1 As String = "This is a string created by assignment."
    Console.WriteLine(string1)
    Dim string2 As String = "The path is C:\PublicDocuments\Report1.doc"
    Console.WriteLine(string2)
    ' The example displays the following output:
    '       This is a string created by assignment.
    '       The path is C:\PublicDocuments\Report1.doc      
    
  • 呼び出して、Stringクラスのコンス トラクターです。 次の例では、いくつかのクラスのコンス トラクターを呼び出すことによって文字列がインスタンス化します。 文字配列またはパラメーターとして符号付きバイト配列へのポインターを含むコンス トラクターの一部に注意してください。 Visual Basic は、これらのコンス トラクターの呼び出しをサポートしていません。 詳細についてはStringコンス トラクターを参照してください、Stringコンス トラクターの概要です。

    Dim chars() As Char = { "w"c, "o"c, "r"c, "d"c }
    
    ' Create a string from a character array.
    Dim string1 As New String(chars)
    Console.WriteLine(string1)
    
    ' Create a string that consists of a character repeated 20 times.
    Dim string2 As New String("c"c, 20)
    Console.WriteLine(string2)
    ' The example displays the following output:
    '       word
    '       cccccccccccccccccccc      
    
  • 文字列連結演算子を使用して (+、C# の場合と >/documents/report1.rdl」のまたは + Visual Basic で) の任意の組み合わせから 1 つの文字列を作成するStringインスタンスと文字列リテラルです。 次の例では、文字列連結演算子の使用を示します。

    Dim string1 As String = "Today is " + Date.Now.ToString("D") + "."  
    Console.WriteLine(string1)
    Dim string2 As String = "This is one sentence. " + "This is a second. "
    string2 += "This is a third sentence."
    Console.WriteLine(string2)      
    ' The example displays output like the following:
    '    Today is Tuesday, July 06, 2011.
    '    This is one sentence. This is a second. This is a third sentence.
    
  • プロパティを取得するか、メソッドを呼び出すとしている文字列を返します。 次の例のメソッドを使用して、String大きな文字列から部分文字列を抽出するクラス。

    Dim sentence As String = "This sentence has five words."
    ' Extract the second word.
    Dim startPosition As Integer = sentence.IndexOf(" ") + 1
    Dim word2 As String = sentence.Substring(startPosition, 
                                             sentence.IndexOf(" ", startPosition) - startPosition) 
    Console.WriteLine("Second word: " + word2)
    ' The example displays the following output:
    '       Second word: sentence
    
  • 値またはオブジェクトを文字列形式に変換する書式指定メソッドを呼び出します。 次の例では、複合書式指定を文字列に 2 つのオブジェクトの文字列形式を埋め込む機能です。

    Dim dateAndTime As DateTime = #07/06/2011 7:32:00AM#
    Dim temperature As Double = 68.3
    Dim result As String = String.Format("At {0:t} on {0:D}, the temperature was {1:F1} degrees Fahrenheit.",
                                         dateAndTime, temperature)
    Console.WriteLine(result)
    ' The example displays the following output:
    '       At 7:32 AM on Wednesday, July 06, 2011, the temperature was 68.3 degrees Fahrenheit.      
    

文字列内の各文字は、Unicode コード ポイントまたは Unicode 文字の序数 (数値) 値とも呼ばれます、Unicode スカラー値によって定義されます。 各コード ポイントは utf-16 エンコーディングを使用してエンコードされており、エンコーディングの各要素の数値として表されます、Charオブジェクト。

System_CAPS_noteメモ

注意してください。、 String utf-16 コード単位のシーケンシャル コレクションのインスタンスを構成、作成することは、String整形式の Unicode 文字列ではないオブジェクトです。 たとえば、対応する上位サロゲートせず、下位サロゲートを含む文字列を作成することはできます。 エンコードとデコード内のオブジェクトのメソッドなど、いくつかの方法、System.Text名前空間がチェックを実行して文字列が整形式であることを確認Stringクラスのメンバーは、文字列が整形式であることを確認できません。

1 つCharオブジェクトは通常、1 つを表すコード ポイントです。 つまり、の数値、Charコード ポイントに等しい。 たとえば、コード ポイントの文字"a"は U +0 0061 です。 ただし、コード ポイントがエンコードされた 1 つ以上の要素を必要があります (1 つ以上Charオブジェクト)。 Unicode 標準を複数の対応する文字の 2 種類の定義Charオブジェクト: graphemes、および Unicode の補助平面内の文字に対応する Unicode 補助コード ポイント。

  • 書記素は、基本文字の後に 1 つまたは複数の結合文字で表されます。 Ä 文字が a でどのように表されるなど、Charオブジェクト コード ポイントは U +0 0061 a 続けてCharコード ポイントが u+0308 オブジェクト。 この文字は、1 つで定義することもCharU +0 00E4 のコード ポイントを持つオブジェクトです。 次の例に示す、等しいかどうかのカルチャに依存した比較ことを示しますこれら 2 つの表現と等しい場合は、通常の序数に基づく比較はありません。 ただし、2 つの文字列は、正規化された場合、序数に基づく比較もあることを示します等しい。 (文字列を正規化する方法については、次を参照してください、正規化セクションです。)。

    Imports System.Globalization
    Imports System.IO
    
    Module Example
       Public Sub Main()
          Dim sw As New StreamWriter(".\graphemes.txt")
          Dim grapheme As String = ChrW(&H0061) + ChrW(&h0308)
          sw.WriteLine(grapheme)
    
          Dim singleChar As String = ChrW(&h00e4)
          sw.WriteLine(singleChar)
    
          sw.WriteLine("{0} = {1} (Culture-sensitive): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.CurrentCulture))
          sw.WriteLine("{0} = {1} (Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.Ordinal))
          sw.WriteLine("{0} = {1} (Normalized Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme.Normalize(), 
                                     singleChar.Normalize(), 
                                     StringComparison.Ordinal))
          sw.Close() 
       End Sub
    End Module
    ' The example produces the following output:
    '       ä
    '       ä
    '       ä = ä (Culture-sensitive): True
    '       ä = ä (Ordinal): False
    '       ä = ä (Normalized Ordinal): True
    
  • 補助コード ポイント (サロゲート ペア) として表されます Unicode をCharコード ポイントが上位サロゲート オブジェクトが続くをCharコード ポイントが下位サロゲートであるオブジェクト。 高サロゲート範囲が u+d800 から U+DBFF のコード単位です。 低サロゲート範囲が u+dc00 から U+DFFF のコード単位です。 サロゲート ペアは、16 の Unicode 補助平面内の文字を表すために使用されます。 次の例は、サロゲート文字を作成しに渡します、Char.IsSurrogatePair(Char, Char)サロゲート ペアであるかどうかを調べます。

    Module Example
       Public Sub Main()
          Dim surrogate As String = ChrW(&hD800) + ChrW(&hDC03)
          For ctr As Integer = 0 To surrogate.Length - 1
             Console.Write("U+{0:X2} ", Convert.ToUInt16(surrogate(ctr)))
          Next   
          Console.WriteLine()
          Console.WriteLine("   Is Surrogate Pair: {0}", 
                            Char.IsSurrogatePair(surrogate(0), surrogate(1)))
       End Sub
    End Module
    
    ' The example displays the following output:
    '       U+D800 U+DC03
    '          Is Surrogate Pair: True
    

文字列の文字に対応する utf-16 でエンコードされたコード単位で表されるChar値。

文字列内の各文字が、関連付けられている Unicode 文字カテゴリで .NET Framework で表現される、UnicodeCategory列挙します。 文字またはサロゲート ペアのカテゴリを呼び出すことで決定できます、CharUnicodeInfo.GetUnicodeCategoryメソッドです。

.NET Framework では、文字と、対応するカテゴリのさまざまなプラットフォームで実行されている .NET Framework のバージョンが同一文字カテゴリ情報を返すことを実行できるように独自のテーブルを保持します。 次の表には、.NET Framework のバージョンと文字カテゴリを基になる Unicode 標準のバージョンが一覧表示します。

.NET Framework のバージョン

Unicode 標準のバージョン

.NET Framework 1.1

The Unicode Standard, Version 4.0.0

.NET Framework 2.0

The Unicode Standard, Version 5.0.0

.NET Framework 3.5

The Unicode Standard, Version 5.0.0

.NET Framework&4;

The Unicode Standard, Version 5.0.0

.NET Framework 4.5

The Unicode Standard, Version 6.3.0

.NET Framework 4.5.1

The Unicode Standard, Version 6.3.0

.NET Framework 4.5.2

The Unicode Standard, Version 6.3.0

.NET Framework 4.6

The Unicode Standard, Version 6.3.0

.NET Framework 4.6.1

The Unicode Standard, Version 6.3.0

.NET Framework 4.6.2

The Unicode Standard, Version 8.0.0

さらに、.NET Framework は、文字列比較をサポートし、Unicode 標準に基づく並べ替え。 を介して、.NET Framework のバージョンでは、 .NET Framework&4;、.NET Framework が独自の文字列データのテーブルを保持します。 以降の .NET Framework のバージョンの場合は true。 これはまた、 .NET Framework 4.5 Windows 7 で実行されています。 以降で、.NET Framework 4.5ウィンドウ 8 および Windows オペレーティング システムの以降のバージョンで実行されている、実行時デリゲート文字列の比較と並べ替え、オペレーティング システムを操作します。 次の表には、.NET Framework のバージョンとは、どの文字比較と並べ替えの基に、Unicode 規格のバージョンが一覧表示します。

.NET Framework のバージョン

Unicode 標準のバージョン

.NET Framework 1.1

The Unicode Standard, Version 4.0.0

.NET Framework 2.0

The Unicode Standard, Version 5.0.0

.NET Framework 3.5

The Unicode Standard, Version 5.0.0

.NET Framework&4;

The Unicode Standard, Version 5.0.0

.NET Framework 4.5Windows 7 以降

The Unicode Standard, Version 5.0.0

.NET Framework 4.5および Windows 8 以降の Windows オペレーティング システムでそれ以降

The Unicode Standard, Version 6.3.0

.NET Framework で、Stringオブジェクトは、文字列の長さの一部としてカウント埋め込まれた null 文字を含めることができます。 ただし、C や C++ などの一部の言語で null 文字は、文字列の末尾を示す以外の場合は、文字列の一部ではありませんし、文字列の長さの一部としてはカウントされません。 つまり、C および C++ プログラマまたは C または C++ で記述されたライブラリ行うことが文字列の次の一般的な前提条件に適用すると、必ずしも無効であるStringオブジェクト。

  • によって返される値、strlenまたはwcslen関数が必ずしもと等しくないString.Lengthです。

  • によって作成される文字列、strcpy_sまたはwcscpy_s関数が必ずしも同じによって作成される文字列ではありません、String.Copyメソッドです。

そのネイティブ C および C++ コードをインスタンス化することを確認する必要がありますStringオブジェクト、および渡されるコードStringプラットフォームを使用したオブジェクトの起動は、埋め込みの null 文字が文字列の末尾をマークすることは限りません。

文字列に埋め込まれた null 文字も扱い文字列が並べ替えられます (またはと比較して)、および文字列を検索します。 インバリアント カルチャを使用する比較を含む 2 つの文字列のカルチャに依存した比較を実行するときに、null 文字は無視されます。 序数に基づくまたは区別しない序数に基づく比較ののみと見なされます。 その一方で、埋め込まれた null 文字は常に考慮などのメソッドに文字列を検索するときにContainsStartsWith、およびIndexOfです。

インデックスの位置とは、Char内のオブジェクト (Unicode 文字ではない)、Stringです。 インデックスとは、0 から始まる、負でない番号を文字列で、インデックス位置 0 は、最初の位置から開始します。 いくつかの検索方法などIndexOfLastIndexOf文字のインデックスを返しますまたは、文字列インスタンスで文字列を指定します。

Charsプロパティでは、個別にアクセスできます。Char文字列内のインデックス位置でのオブジェクト。 Charsプロパティ (Visual Basic) の既定のプロパティまたはインデクサー (C# の場合) は、個別にアクセスすることができますChar次のようなコードを使用して、文字列内のオブジェクト。 このコードは、空白文字または文字列に含まれる文字数を判断するための文字列の区切り文字を検索します。

Module Example
   Public Sub Main()
      Dim s1 As String = "This string consists of a single short sentence."
      Dim nWords As Integer = 0

      s1 = s1.Trim()      
      For ctr As Integer = 0 To s1.Length - 1
         If Char.IsPunctuation(s1(ctr)) Or Char.IsWhiteSpace(s1(ctr)) 
            nWords += 1              
         End If   
      Next
      Console.WriteLine("The sentence{2}   {0}{2}has {1} words.",
                        s1, nWords, vbCrLf)                                                                     
   End Sub
End Module
' The example displays the following output:
'       The sentence
'          This string consists of a single short sentence.
'       has 8 words.

Stringクラスが実装する、IEnumerableインターフェイスも反復処理できる、Charを使用して、文字列内のオブジェクト、foreach構築は、次の例のようにします。

Module Example
   Public Sub Main()
      Dim s1 As String = "This string consists of a single short sentence."
      Dim nWords As Integer = 0

      s1 = s1.Trim()      
      For Each ch In s1
         If Char.IsPunctuation(ch) Or Char.IsWhiteSpace(ch) Then 
            nWords += 1              
         End If   
      Next
      Console.WriteLine("The sentence{2}   {0}{2}has {1} words.",
                        s1, nWords, vbCrLf)                                                                     
   End Sub
End Module
' The example displays the following output:
'       The sentence
'          This string consists of a single short sentence.
'       has 8 words.

文字は、Unicode でエンコードされた 1 つ以上にするため、連続したインデックス値は連続する Unicode 文字に対応しない可能性がありますCharオブジェクト。 具体的には、文字列には、テキストの文字の後に 1 つまたは複数の結合文字またはサロゲート ペアで形成される複数の文字の単位があります。 代わりに Unicode 文字を使用するCharオブジェクトを使用してのSystem.Globalization.StringInfoTextElementEnumeratorクラスです。 次の例は、コードで動作する違いを示しています。Charオブジェクトと Unicode 文字を操作するコードです。 文字または文の各単語のテキスト要素の数を比較します。 文字列には、基本文字、組み合わせ文字の 2 つのシーケンスが含まれています。

Imports System.Collections.Generic
Imports System.Globalization

Module Example
   Public Sub Main()
      ' First sentence of The Mystery of the Yellow Room, by Leroux.
      Dim opening As String = "Ce n'est pas sans une certaine émotion que "+
                              "je commence à raconter ici les aventures " +
                              "extraordinaires de Joseph Rouletabille." 
      ' Character counters.
      Dim nChars As Integer = 0
      ' Objects to store word count.
      Dim chars As New List(Of Integer)()
      Dim elements As New List(Of Integer)()

      For Each ch In opening
         ' Skip the ' character.
         If ch = ChrW(&h0027) Then Continue For

         If Char.IsWhiteSpace(ch) Or Char.IsPunctuation(ch) Then
            chars.Add(nChars)
            nChars = 0
         Else 
            nChars += 1
         End If
      Next

      Dim te As TextElementEnumerator = StringInfo.GetTextElementEnumerator(opening)
      Do While te.MoveNext()
         Dim s As String = te.GetTextElement()   
         ' Skip the ' character.
         If s = ChrW(&h0027) Then Continue Do
         If String.IsNullOrEmpty(s.Trim()) Or (s.Length = 1 AndAlso Char.IsPunctuation(Convert.ToChar(s))) 
            elements.Add(nChars)         
            nChars = 0
         Else 
            nChars += 1
         End If
      Loop

      ' Display character counts.
      Console.WriteLine("{0,6} {1,20} {2,20}",
                        "Word #", "Char Objects", "Characters") 
      For ctr As Integer = 0 To chars.Count - 1 
         Console.WriteLine("{0,6} {1,20} {2,20}",
                           ctr, chars(ctr), elements(ctr)) 
      Next                        
   End Sub
End Module
' The example displays the following output:
'    Word #         Char Objects           Characters
'         0                    2                    2
'         1                    4                    4
'         2                    3                    3
'         3                    4                    4
'         4                    3                    3
'         5                    8                    8
'         6                    8                    7
'         7                    3                    3
'         8                    2                    2
'         9                    8                    8
'        10                    2                    1
'        11                    8                    8
'        12                    3                    3
'        13                    3                    3
'        14                    9                    9
'        15                   15                   15
'        16                    2                    2
'        17                    6                    6
'        18                   12                   12

この例を使用して、テキスト要素では処理、StringInfo.GetTextElementEnumeratorメソッドおよびTextElementEnumerator文字列内のすべてのテキスト要素を列挙するクラス。 呼び出すことによってテキストの各要素の開始インデックスを含む配列を取得することも、StringInfo.ParseCombiningCharactersメソッドです。

個人ではなくテキスト単位の使用の詳細についてはChar値を参照してください、StringInfoクラスです。

宣言されていますが、値が割り当てられていない文字列がnullです。 その文字列に対するメソッドの呼び出しを試みるとスロー、NullReferenceExceptionです。 Null 文字列とは異なる値が文字列である空の文字列""またはString.Emptyです。 場合によっては、メソッド呼び出しで引数として文字列を null または空の文字列のいずれかを渡すことによってスローされる例外。 たとえば、null 文字列を渡すこと、Int32.Parseメソッドがスローされます、ArgumentNullExceptionがスローされます、空の文字列を渡すと、FormatExceptionです。 それ以外の場合に、メソッド引数は、null 文字列または空の文字列のいずれかを指定できます。 たとえば、提供している場合、IFormattableと同じ null 文字列と空の文字列の両方で [全般] ("G") 書式指定子とするクラスの実装、します。

Stringクラスには、文字列があるかどうかをテストすることができるようにする次の 2 つの便利なメソッドが含まれています。nullまたは空。

  • IsNullOrEmpty、文字列のいずれかの形式があるかどうかを示しますnullかと等しいString.Emptyです。 このメソッドは、次のようなコードを使用する必要を排除できます。

    If str Is Nothing OrElse str.Equals(String.Empty) Then
    
  • IsNullOrWhiteSpace、文字列の形式があるかどうかを示しますnull、equals String.Empty、または空白文字のみで構成されています。 このメソッドは、次のようなコードを使用する必要を排除できます。

    If str Is Nothing OrElse str.Equals(String.Empty) OrElse str.Trim().Equals(String.Empty)
    

次の例では、IsNullOrEmptyメソッドで、 IFormattable.ToString 、カスタムの実装Temperatureクラスです。 メソッドは、"G"、"C"、"F"および"K"書式指定文字列をサポートします。 空の書式指定文字列または形式の文字列値を持つ場合は、null渡される、メソッドにその値が"G"書式指定文字列に変更します。

Public Overloads Function ToString(fmt As String, provider As IFormatProvider) As String _
                Implements IFormattable.ToString
   If String.IsNullOrEmpty(fmt) Then fmt = "G"  
   If provider Is Nothing Then provider = CultureInfo.CurrentCulture

   Select Case fmt.ToUpperInvariant()
      ' Return degrees in Celsius.    
      Case "G", "C"
         Return temp.ToString("F2", provider) + "°C"
      ' Return degrees in Fahrenheit.
      Case "F" 
         Return (temp * 9 / 5 + 32).ToString("F2", provider) + "°F"
      ' Return degrees in Kelvin.
      Case "K"   
         Return (temp + 273.15).ToString()
      Case Else
         Throw New FormatException(
               String.Format("The {0} format string is not supported.", 
                             fmt))
    End Select                                   
End Function

AStringオブジェクトは不変と呼ばれる (読み取り専用) が作成された後、その値を変更できないためです。 表示を変更する方法、Stringオブジェクトは実際には、新しい返すString変更を含むオブジェクトです。

文字列は変更できないため文字列操作ルーチンを実行するには、追加または削除する 1 つの文字列が大幅なパフォーマンスの低下を正確に表示される内容が繰り返されます。 たとえば、次のコードは、0x0001 に 0x052F の範囲の 1000 文字に文字列を作成するのに乱数ジェネレーターを使用します。 という名前の既存の文字列に文字を追加する文字列の連結を使用するように見えますが、コードstr、実際に作成、新しいString各連結操作のオブジェクト。

Imports System.IO
Imports System.Text

Module Example
   Public Sub Main()
      Dim rnd As New Random()

      Dim str As String = String.Empty
      Dim sw As New StreamWriter(".\StringFile.txt", 
                           False, Encoding.Unicode)

      For ctr As Integer = 0 To 1000
         str += ChrW(rnd.Next(1, &h0530)) 
         If str.Length Mod 60 = 0 Then str += vbCrLf          
      Next                    
      sw.Write(str)
      sw.Close()
   End Sub
End Module

使用することができます、StringBuilderクラスの代わりに、String文字列の値に複数の変更を構成する操作のクラスです。 インスタンスとは異なり、Stringクラス、StringBuilderオブジェクトが変更可能です。 1 つの文字列で行われる連結、追加、または文字列から部分文字列を削除するときにします。 値の変更が完了したらをStringBuilderオブジェクトを呼び出すことができますのStringBuilder.ToStringを文字列に変換します。 次の例が置き換えられます、Stringで 0x052F を 0x0001 に範囲の 1000 ランダムな文字を連結する、前の例で使用される、StringBuilderオブジェクト。

Imports System.IO
Imports System.Text

Module Example
   Public Sub Main()
      Dim rnd As New Random()
      Dim sb As New StringBuilder()
      Dim sw As New StreamWriter(".\StringFile.txt", 
                                 False, Encoding.Unicode)

      For ctr As Integer = 0 To 1000
         sb.Append(ChrW(rnd.Next(1, &h0530))) 
         If sb.Length Mod 60 = 0 Then sb.AppendLine()          
      Next                    
      sw.Write(sb.ToString())
      sw.Close()
   End Sub
End Module

メンバー、Stringクラスで序数に基づくか、カルチャ (言語) 操作を実行する、Stringオブジェクト。 序数に基づく操作の対象とそれぞれの数値に基づいてCharオブジェクト。 カルチャに依存した操作の値には、機能、Stringオブジェクト、およびはカルチャに固有の大文字小文字の区別、並べ替え、書式設定、およびアカウントにルールを解析します。 カルチャに依存する操作は、明示的に宣言されたカルチャまたは現在のカルチャのコンテキストで実行します。 操作の 2 つの種類は、同じ文字列で実行されるときに、非常に異なる結果を生成できます。

.NET Framework では、インバリアント カルチャを使用してカルチャに依存しない言語的な文字列操作もがサポートしています (CultureInfo.InvariantCulture)、これは、領域の独立した英語の言語のカルチャ設定に基づいて疎です。 その他のとは異なりSystem.Globalization.CultureInfo設定、インバリアント カルチャの設定はシステム、および .NET Framework のバージョン間でのシステムからの 1 台のコンピューター上の一貫性を保持することが保証されます。 インバリアント カルチャでは、すべてのカルチャに種類の文字列比較の安定性を保証するための黒いボックスとして表示と順序を存在できます。

System_CAPS_security セキュリティ メモ

アプリケーションの場合、ファイル名などのシンボル id のセキュリティを決定や名前付きパイプ、または XML ファイル内のテキスト ベースのデータなどの永続化されたデータは、操作は、カルチャに依存した比較ではなく、序数に基づく比較を使用してください。 これは、序数に基づく比較が比較する文字のバイナリ値にのみ異なりますが、カルチャに依存した比較では、カルチャによって異なる結果を実際には、yield ためです。

System_CAPS_important重要

文字列操作を実行するほとんどのメソッドを型のパラメーターを持つオーバー ロードは、StringComparisonメソッドが序数に基づくまたはカルチャに依存した操作を実行しているかどうかを指定できます。 一般に、クリア呼び出し、メソッドの意図をこのオーバー ロードを呼び出す必要があります。 ベスト プラクティスと文字列の序数とカルチャの操作の使用に関するガイダンスは、次を参照してください。.NET Framework で文字列を使用するためのベスト プラクティスです。

操作を大文字小文字の区別解析および書式設定比較と並べ替え、および等価性テスト序数またはカルチャに依存できます。 次のセクションでは、操作の各カテゴリについて説明します。

System_CAPS_tipヒント

常に呼び出し、クリア、メソッドの意図は、メソッドのオーバー ロードを呼び出す必要があります。 たとえば、呼び出す代わりに、 Compare(String, String) 、現在のカルチャの規則を使用して 2 つの文字列のカルチャに依存した比較を実行するメソッドを呼び出す必要があります、Compare(String, String, StringComparison)の値を持つメソッドStringComparison.CurrentCulturecomparisonType引数。 詳細については、「.NET Framework で文字列を使用するためのベスト プラクティス」を参照してください。

大文字小文字の規則は Unicode 文字の大文字と小文字を変更する方法を決定します。たとえばから小文字を大文字にします。 多くの場合、大文字と小文字の操作は、文字列を比較する前に実行されます。 たとえば、別の文字列を大文字で比較ができるように文字列を大文字に変換する可能性があります。 呼び出すことによって小文字文字列内の文字に変換することができます、ToLowerまたはToLowerInvariantメソッド、およびすることができますに変換したり大文字を呼び出して、ToUpperまたはToUpperInvariantメソッドです。 さらに、使用はTextInfo.ToTitleCase文字列を大文字に変換します。

大文字と小文字の操作は、現在のカルチャを指定したカルチャまたはインバリアント カルチャの規則に基づくことができます。 大文字小文字マップは、使用するカルチャによって異なることができます、ため、大文字と小文字の操作の結果がカルチャによって異なることができます。 大文字と小文字の実際の相違点は、次の 3 種類のことです。

  • 大文字のマッピングに、ラテン語 I CAPITAL LETTER の相違点 (u+0049) ラテン小さい文字 I (u+0069)、LATIN CAPITAL LETTER I (u+0130) 上のドットとラテン小さい文字ドットなし I (0131 U +) です。 TR-TR (トルコ語 (トルコ)) と (アゼルバイジャン、ラテン文字) の az-Latn-AZ カルチャ、および tr、az、および-az-latn ニュートラル カルチャで LATIN SMALL 文字ドットなし I、LATIN CAPITAL LETTER I の小文字表現は、ラテン小さい文字 I の大文字表現 LATIN CAPITAL LETTER I とドットの上。 その他のすべてのカルチャで LATIN SMALL 文字 I と同等の大文字と小文字は LATIN CAPITAL LETTER、インバリアント カルチャをなどです。

    次の例は、ファイル システムへのアクセスを防ぐために失敗する場合、カルチャの大文字と小文字の比較に依存しているに設計された、文字列の比較方法を示します。 (インバリアント カルチャの大文字と小文字の規則が使用されています。)

    Imports System.Globalization
    Imports System.Threading
    
    Module Example
       Const disallowed = "file"
    
       Public Sub Main()
          IsAccessAllowed("FILE:\\\c:\users\user001\documents\FinancialInfo.txt")
       End Sub
    
       Private Sub IsAccessAllowed(resource As String)
          Dim cultures() As CultureInfo = { CultureInfo.CreateSpecificCulture("en-US"),
                                            CultureInfo.CreateSpecificCulture("tr-TR") }
          Dim scheme As String = Nothing
          Dim index As Integer = resource.IndexOfAny( {"\"c, "/"c })
          If index > 0 Then scheme = resource.Substring(0, index - 1)
    
          ' Change the current culture and perform the comparison.
          For Each culture In cultures
             Thread.CurrentThread.CurrentCulture = culture
             Console.WriteLine("Culture: {0}", CultureInfo.CurrentCulture.DisplayName)
             Console.WriteLine(resource)
             Console.WriteLine("Access allowed: {0}", 
                               Not String.Equals(disallowed, scheme, StringComparison.CurrentCultureIgnoreCase))      
             Console.WriteLine()
          Next   
       End Sub      
    End Module
    ' The example displays the following output:
    '       Culture: English (United States)
    '       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    '       Access allowed: False
    '       
    '       Culture: Turkish (Turkey)
    '       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    '       Access allowed: True
    
  • インバリアント カルチャと他のすべてのカルチャで大文字小文字マップ違いです。 このような場合、インバリアント カルチャの大文字小文字の規則を使用して、文字を大文字または小文字を変更すると、同じ文字を返します。 その他のすべてのカルチャの場合は、別の文字を返します。 一部の影響を受ける文字は、次の表に一覧表示されます。

    文字

    変更した場合

    戻り値

    ミクロン記号 (U +0 00B5)

    大文字

    ギリシャ語 CAPITAL LETTER MU (U +0-39 C)

    ラテン文字の大文字、文字ではドット (U+0130) 上

    小文字

    文字で表されるラテン小 (U+0069)

    ドットなしの LATIN SMALL LETTER $I (U +0 0131)

    大文字

    文字で表されるラテン文字の大文字 (U+0049)

    LATIN SMALL LETTER 長い S (U +0 017F)

    大文字

    LATIN CAPITAL LETTER S (U +0 0053)

    キャロン付き文字 Z で LATIN CAPITAL LETTER D (U +0 01C 5)

    小文字

    キャロン付き LATIN SMALL LETTER DZ (U +0 01C 6)

    結合ギリシャ YPOGEGRAMMENI (U +0 0345)

    大文字

    ギリシャ語 CAPITAL LETTER IOTA (0399 U +)

  • ASCII 文字の範囲内で、大文字と小文字が混在ペアの 2 文字の大文字小文字マップの違い。 ほとんどのカルチャで、2 文字、大文字と小文字が混在してペアが等しい等価 2 文字の大文字または小文字の組み合わせにします。 次のカルチャで次の 2 文字のペアの場合は true、digraph に各ケースで比較されます。

    • "lJ"と"nJ"(クロアチア語 (クロアチア)) を HR-HR カルチャでします。

    • "cH"CS-CZ (チェコ語 (チェコ共和国)) と sk-SK (スロバキア語 (スロバキア)) のカルチャでします。

    • "aA"DA-DK (デンマーク語 (デンマーク)) のカルチャ。

    • "cS"、"dZ"、"dZS"、"nY"、"sZ"、"tY"および"zS"HU-HU (ハンガリー語 (ハンガリー)) のカルチャ。

    • "cH"と"lL"es-es_tradnl (スペイン語 (スペイン、トラディショナル ソート)) のカルチャ。

    • "cH"、"gI"、"kH"、"nG""nH"、"pH"、"qU'、"tH"と"tR"vi VN (ベトナム語 (ベトナム)) のカルチャ。

    ただし、これらのペアは固定文字列または識別子が一般的ではないために、これらのペアのカルチャに依存した比較が、問題を作成する状態を発生するのにいつもはありません。

次の例は、大文字小文字の規則のカルチャ文字列を大文字に変換するときに間の違いの一部を示しています。

Imports System.Globalization
Imports System.IO

Module Example
   Public Sub Main()
      Dim sw As New StreamWriter(".\case.txt")   
      Dim words As String() = { "file", "sıfır", "Dženana" }
      Dim cultures() As CultureInfo = { CultureInfo.InvariantCulture, 
                                        New CultureInfo("en-US"),  
                                        New CultureInfo("tr-TR") }

      For Each word In words
         sw.WriteLine("{0}:", word)
         For Each culture In cultures
            Dim name As String = If(String.IsNullOrEmpty(culture.Name),  
                                 "Invariant", culture.Name)
            Dim upperWord As String = word.ToUpper(culture)
            sw.WriteLine("   {0,10}: {1,7} {2, 38}", name, 
                         upperWord, ShowHexValue(upperWord))

         Next
         sw.WriteLine()  
      Next
      sw.Close()
   End Sub

   Private Function ShowHexValue(s As String) As String
      Dim retval As String = Nothing
      For Each ch In s
         Dim bytes() As Byte = BitConverter.GetBytes(ch)
         retval += String.Format("{0:X2} {1:X2} ", bytes(1), bytes(0))     
      Next
      Return retval
   End Function
End Module
' The example displays the following output:
'    file:
'        Invariant:    FILE               00 46 00 49 00 4C 00 45 
'            en-US:    FILE               00 46 00 49 00 4C 00 45 
'            tr-TR:    FİLE               00 46 01 30 00 4C 00 45 
'    
'    sıfır:
'        Invariant:   SıFıR         00 53 01 31 00 46 01 31 00 52 
'            en-US:   SIFIR         00 53 00 49 00 46 00 49 00 52 
'            tr-TR:   SIFIR         00 53 00 49 00 46 00 49 00 52 
'    
'    Dženana:
'        Invariant:  DžENANA   01 C5 00 45 00 4E 00 41 00 4E 00 41 
'            en-US:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 
'            tr-TR:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41  

書式設定と解析は、逆の操作です。 書式指定規則は、解析規則など、日付と時刻の値を文字列形式に変換する方法を決定する一方の文字列形式に日付と時刻や数値など、値を変換する方法を決定します。 書式設定と解析規則の両方には、文化的慣習に依存します。 次の例は、カルチャ固有の日付文字列を解釈するときに生じる可能性のある、あいまいさを示しています。 日付の文字列を生成するために使用されたカルチャの規則がわからなければ、2011 年 1 月 3 日または 2011 年 3 月 1 日の 03/01/2011、2011 年 3 月 1 日と 01/03/2011 を表すかどうかを知ることはできません。

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim dat As Date = #3/1/2011#
      Dim cultures() As CultureInfo = { CultureInfo.InvariantCulture, 
                                        New CultureInfo("en-US"), 
                                        New CultureInfo("fr-FR") }

      For Each culture In cultures
         Console.WriteLine("{0,-12} {1}", If(String.IsNullOrEmpty(culture.Name), 
                           "Invariant", culture.Name), 
                           dat.ToString("d", culture))
      Next                                                         
   End Sub
End Module
' The example displays the following output:
'       Invariant    03/01/2011
'       en-US        3/1/2011
'       fr-FR        01/03/2011

同様に、次の例に示す 1 つの文字列は解析操作での規則を使用する、カルチャによって異なる日付を生成できます。

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim dateString As String = "07/10/2011"
      Dim cultures() As CultureInfo = { CultureInfo.InvariantCulture, 
                                        CultureInfo.CreateSpecificCulture("en-GB"), 
                                        CultureInfo.CreateSpecificCulture("en-US") }
      Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", "Date String", "Culture", 
                                                 "Month", "Day")
      Console.WriteLine()                                                 
      For Each culture In cultures
         Dim dat As Date = DateTime.Parse(dateString, culture)
         Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", dateString, 
                           If(String.IsNullOrEmpty(culture.Name), 
                           "Invariant", culture.Name), 
                           dat.Month, dat.Day)
      Next
   End Sub
End Module
' The example displays the following output:
'       Date String     Culture    Month      Day
'       
'       07/10/2011    Invariant        7       10
'       07/10/2011        en-GB       10        7
'       07/10/2011        en-US        7       10

比較すると、文字列の並べ替え規則には、カルチャが異なります。 たとえば、並べ替え順序は、表音または文字のビジュアル表現に基づいて可能性があります。 東アジア圏の言語では、文字が表意文字の画数と部首によって並べ替えられます。 また、並べ替えは、言語やカルチャで使用されているアルファベットの順序によっても異なります。 たとえば、デンマーク語の文字 "Æ" は、アルファベットでは "Z" の後に位置します。 さらに、または、区別しない比較を実行でき、場合によっては大文字小文字の規則もカルチャによって異なります。 序数に基づく比較は、その一方で、文字列を比較すると、文字列の並べ替えで個別の文字の Unicode コード ポイントを使用します。

並べ替えに関する規則は、Unicode 文字のアルファベット順とどのように 2 つの文字列を相互に比較を決定します。 たとえば、String.Compare(String, String, StringComparison)メソッドに基づく 2 つの文字列を比較し、StringComparisonパラメーター。 パラメーター値が場合StringComparison.CurrentCultureをメソッドは、パラメーターの値がある場合に現在のカルチャの規則を使用する言語的な比較を実行StringComparison.Ordinalをこのメソッドは、序数に基づく比較を実行します。 そのため、例を次に、現在のカルチャが米国の場合英語、最初の呼び出し、 String.Compare(String, String, StringComparison) (カルチャに依存した比較を使用して) メソッドが"A","a"未満と見なしますが、(序数に基づく比較を使用して)、同じメソッドに 2 番目の呼び出しでは考慮"a""A"より大きい。

Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US")
      Console.WriteLine(String.Compare("A", "a", StringComparison.CurrentCulture))
      Console.WriteLine(String.Compare("A", "a", StringComparison.Ordinal))
   End Sub
End Module
' The example displays the following output:
'       1                                                                                     
'       -32

.NET Framework には、word、文字列、および序数の並べ替え規則がサポートされています。

  • 単語での並べ替えでは、英数字以外の特定の Unicode 文字には特別な重みが割り当てられる、カルチャに依存した文字列の比較が行われます。 たとえば、ハイフン (-) は、"coop"と"co-op"、並べ替え済みリストで互いの横に表示されるように割り当てられている重みは非常に小さい場合があります。 一覧については、String単語の並べ替え規則を使用して 2 つの文字列を比較するメソッドを参照してください、カテゴリ別の文字列操作セクションです。

  • 文字列の並べ替えには、カルチャに依存した比較もを実行します。 特殊なケースがないと、英数字以外のすべてのシンボルは英数字のすべての Unicode 文字の前にする点を除いて、単語の並べ替えに似ています。 文字列の並べ替え規則を使用して呼び出すことによって、2 つの文字列を比較することができます、CompareInfo.Compareを持つメソッド オーバー ロード、optionsがパラメーターには、値が指定されているCompareOptions.StringSortです。 これは文字列の並べ替え規則を使用して 2 つの文字列を比較する、.NET Framework が提供する唯一の方法であることに注意してください。

  • 序数の並べ替えでは、文字列内の各 Char オブジェクトの数値に基づいて文字列を比較します。 序数に基づく比較は、文字の大文字と小文字のバージョンがあるコード ポイントが異なるため自動的に区別されます。 ただし、ケースが重要ではない場合は、小文字を無視する序数に基づく比較を指定できます。 これは、インバリアント カルチャを使用して、結果に序数に基づく比較を実行することで大文字に文字列の変換と同じです。 一覧については、String序数の並べ替え規則を使用して 2 つの文字列を比較するメソッドを参照してください、カテゴリ別の文字列操作セクションです。

カルチャに依存した比較は、明示的または暗黙的に使用する任意の比較、 CultureInfo 、インバリアント カルチャで指定されているを含む、オブジェクト、CultureInfo.InvariantCultureプロパティです。 暗黙のカルチャは、現在のカルチャで指定されている、Thread.CurrentCultureおよびCultureInfo.CurrentCultureプロパティです。 アルファベット文字の並べ替え順序ではかなりのばらつきがある (つまり、対象の文字、Char.IsLetterプロパティから返されるtrue) 複数のカルチャでします。 指定することによって、特定のカルチャの規則を使用するカルチャに依存した比較を指定することができます、CultureInfoなどオブジェクトの文字列比較メソッドをCompare(String, String, CultureInfo, CompareOptions)です。 指定することによって、現在のカルチャの規則を使用するカルチャに依存した比較を指定するStringComparison.CurrentCultureStringComparison.CurrentCultureIgnoreCase、またはのメンバーはすべて、CompareOptions以外の列挙CompareOptions.OrdinalまたはCompareOptions.OrdinalIgnoreCaseの適切なオーバー ロードに、Compareメソッドです。 カルチャに依存した比較は序数比較では、一方の並べ替えは適切です。 序数に基づく比較に適した一般的に 2 つの文字列が等しいかどうかを決定する (つまり、識別情報を確認するため) カルチャに依存した比較では、一方です。

次の例は、カルチャと序数の比較の違いを示しています。 例では、評価の 3 つの文字列、"Apple"、"Æble"および"AEble"、序数に基づく比較と DA-DK および EN-US カルチャの規則を使用して (時の既定のカルチャは、それぞれが、Compareメソッドが呼び出されます)。 デンマーク語の言語は文字「Æ」個々 の文字として扱いますおよびのでアルファベットでは、"Z"の後に並べ替え、文字列"Æble"が"Apple"を超えています。 ただし、"Æble"がないと見なされます"AEble"に相当"Æble"が"AEble"より大きいも。 EN-US カルチャでは、文字「Æ」が含まれていないが、"AE"は、"Æble"は、"Apple"よりも"AEble"に等しい少ない理由について説明しますと同等として扱われます。 序数に基づく比較は、その一方で、"AEble"より大きい値を指定するには、"Æble"と"Æble"よりも小さくするには、"Apple"を考慮します。

Imports System.Globalization
Imports System.Threading

Public Module Example
   Public Sub Main()
      Dim str1 As String = "Apple"
      Dim str2 As String = "Æble"
      Dim str3 As String = "AEble"

      ' Set the current culture to Danish in Denmark.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("da-DK")
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2))
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, String.Compare(str2, str3))
      Console.WriteLine()

      ' Set the current culture to English in the U.S.
      Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2))
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, String.Compare(str2, str3))
      Console.WriteLine()

      ' Perform an ordinal comparison.
      Console.WriteLine("Ordinal comparison")
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, 
                        String.Compare(str1, str2, StringComparison.Ordinal))
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, 
                        String.Compare(str2, str3, StringComparison.Ordinal))
   End Sub
End Module
' The example displays the following output:
'       Current culture: da-DK
'       Comparison of Apple with Æble: -1
'       Comparison of Æble with AEble: 1
'       
'       Current culture: en-US
'       Comparison of Apple with Æble: 1
'       Comparison of Æble with AEble: 0
'       
'       Ordinal comparison
'       Comparison of Apple with Æble: -133
'       Comparison of Æble with AEble: 133

適切な文字列の並べ替えまたは比較方法を選択するのにには、次の一般的なガイドラインを使用します。

  • 順序付けるために、文字列をユーザーのカルチャに基づいて、する場合の現在のカルチャの規則に基づいてを注文する必要があります。 ユーザーのカルチャが変更された場合の文字列の並べ替え順序はそれに従って変更もできます。 たとえば、類義語辞典アプリケーションは、ユーザーのカルチャに基づいて単語を常に並べ替える必要があります。

  • する場合は、文字列を並べ替える特定のカルチャの規則に基づいて、する必要があります順序を指定することによって、CultureInfo比較方法をカルチャを表すオブジェクト。 たとえば、アプリケーションでは、特定の言語について説明するように設計、する文字列を並べ替えるその言語を話すのカルチャのいずれかの規則に基づいて。

  • そのまま複数のカルチャで文字列の順序を設定する場合は、インバリアント カルチャの規則に基づく順序か、序数に基づく比較を使用してください。 たとえば、ファイル、プロセス、ミュー テックスの名前を整理する序数の並べ替えを使用して、または、名前付きパイプです。

  • 比較については、セキュリティ上の決定 (ユーザー名が有効かどうか) などを含むは常にテストを実行する、序数に基づく等しいかどうかのオーバー ロードを呼び出すことによって、Equalsメソッドです。

System_CAPS_noteメモ

カルチャに依存した並べ替えおよび文字列比較で使用されるルール大文字小文字の区別は、.NET Framework のバージョンによって異なります。.NET Framework 4.5で実行されている、 Windows 8 Unicode 6.0 標準に準拠しているオペレーティング システム、並べ替え、大文字小文字の区別、正規化、および Unicode 文字に関する情報。 他のオペレーティング システムでは、Unicode 5.0 標準に準拠しています。

Word、文字列、および序数の並べ替え規則に関する詳細については、次を参照してください。、System.Globalization.CompareOptionsトピックです。 各ルールを使用する場合の追加の推奨事項を参照してください.NET Framework で文字列を使用するためのベスト プラクティスです。

通常は、呼び出すことはありません文字列などの比較メソッドCompare直接を文字列の並べ替え順序を決定します。 などのメソッドを並べ替えて比較メソッドが呼び出されます代わりに、Array.SortまたはList(Of T).Sortです。 次の例を使用する比較の種類を指定する操作を行いますが文字列比較メソッドを明示的に呼び出さずに 4 つの異なる並べ替え操作 (単語の並べ替えが現在のカルチャ、インバリアント カルチャを使用して word 並べ替えを序数の並べ替えおよびインバリアント カルチャを使用して文字列の並べ替えを使用して) を実行します。 並べ替えの種類ごとに、配列内の文字列の一意な順序付けが生成されることに注意してください。

Imports System.Collections
Imports System.Collections.Generic
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim strings() As String = { "coop", "co-op", "cooperative", 
                                  "co" + ChrW(&h00AD) + "operative", 
                                  "cœur", "coeur" }

      ' Perform a word sort using the current (en-US) culture.
      Dim current(strings.Length - 1) As String  
      strings.CopyTo(current, 0) 
      Array.Sort(current, StringComparer.CurrentCulture)

      ' Perform a word sort using the invariant culture.
      Dim invariant(strings.Length - 1) As String
      strings.CopyTo(invariant, 0) 
      Array.Sort(invariant, StringComparer.InvariantCulture)

      ' Perform an ordinal sort.
      Dim ordinal(strings.Length - 1) As String
      strings.CopyTo(ordinal, 0) 
      Array.Sort(ordinal, StringComparer.Ordinal)

      ' Perform a string sort using the current culture.
      Dim stringSort(strings.Length - 1) As String
      strings.CopyTo(stringSort, 0) 
      Array.Sort(stringSort, new SCompare())

      ' Display array values
      Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                        "Original", "Word Sort", "Invariant Word", 
                        "Ordinal Sort", "String Sort")
      Console.WriteLine()

      For ctr As Integer = 0 To strings.Length - 1
         Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                           strings(ctr), current(ctr), invariant(ctr), 
                           ordinal(ctr), stringSort(ctr))   
      Next                                  
   End Sub
End Module

' IComparer<String> implementation to perform string sort.
Friend Class SCompare : Implements IComparer(Of String)
   Public Function Compare(x As String, y As String) As Integer _
                   Implements IComparer(Of String).Compare
      Return CultureInfo.CurrentCulture.CompareInfo.Compare(x, y, CompareOptions.StringSort)
   End Function
End Class
' The example displays the following output:
'         Original     Word Sort  Invariant Word  Ordinal Sort   String Sort
'    
'             coop          cœur            cœur         co-op         co-op
'            co-op         coeur           coeur         coeur          cœur
'      cooperative          coop            coop          coop         coeur
'     co­operative         co-op           co-op   cooperative          coop
'             cœur   cooperative     cooperative  co­operative   cooperative
'            coeur  co­operative    co­operative          cœur  co­operative
System_CAPS_tipヒント

内部的には、.net Framework では、並べ替えキーを使用して、culturallysensitive 文字列比較をサポートします。 文字列内の各文字には、アルファベット順、大文字と小文字の区別、発音の区別など、さまざまなカテゴリの並べ替えウェイトが指定されます。 並べ替えキーがで表される、SortKeyクラス、特定の文字列をこれらの規則のリポジトリを提供します。 アプリでは、多数の検索や並べ替え文字列の同じセットの操作を実行する場合は、生成および格納するために使用するすべての文字列の並べ替えキーによってそのパフォーマンスを向上できます。 並べ替えまたは比較操作が必要な場合、文字列の代わりに並べ替えキーを使用できます。 詳細については、SortKey クラスを参照してください。

文字列の比較規則を指定しない場合は、並べ替え方法など、Array.Sort(Array)は、文字列のカルチャ、大文字小文字を区別する並べ替えを実行します。 次の例は、現在のカルチャを変更すると、配列の並べ替えられた文字列の順序にどのように影響する方法を示しています。 3 つの文字列の配列を作成します。 最初に、System.Threading.Thread.CurrentThread.CurrentCulture プロパティを en-US に設定し、Array.Sort(Array) メソッドを呼び出します。 これよって、英語 (米国) カルチャの並べ替え規則に基づく並べ替え順序が適用されます。 次に、System.Threading.Thread.CurrentThread.CurrentCulture プロパティを da-DK に設定し、再度 Array.Sort メソッドを呼び出します。 適用される並べ替え順序が en-US の並べ替え順序と異なる点に注意してください。これは、デンマーク語 (デンマーク) の並べ替え規則が使用されるためです。

Imports System.Globalization
Imports System.IO
Imports System.Threading

Public Class TextToFile   
   Public Shared Sub Main()
      ' Creates and initializes a new array to store 
      ' these date/time objects.
      Dim stringArray() As String = { "Apple", "Æble", "Zebra"}

      ' Displays the values of the array.
      Console.WriteLine("The original string array:")
      PrintIndexAndValues(stringArray)

      ' Set the CurrentCulture to "en-US".
      Thread.CurrentThread.CurrentCulture = New CultureInfo("en-US")
      ' Sort the values of the Array.
      Array.Sort(stringArray)

      ' Display the values of the array.
      Console.WriteLine("After sorting for the ""en-US"" culture:")
      PrintIndexAndValues(stringArray)

      ' Set the CurrentCulture to "da-DK".
      Thread.CurrentThread.CurrentCulture = New CultureInfo("da-DK")
      ' Sort the values of the Array.
      Array.Sort(stringArray)

      ' Displays the values of the Array.
      Console.WriteLine("After sorting for the culture ""da-DK"":")
      PrintIndexAndValues(stringArray)
   End Sub

   Public Shared Sub PrintIndexAndValues(myArray() As String)
      For i As Integer = myArray.GetLowerBound(0) To myArray.GetUpperBound(0)
         Console.WriteLine("[{0}]: {1}", i, myArray(i))
      Next
      Console.WriteLine()
   End Sub 
End Class
' The example displays the following output:
'       The original string array:
'       [0]: Apple
'       [1]: Æble
'       [2]: Zebra
'       
'       After sorting for the "en-US" culture:
'       [0]: Æble
'       [1]: Apple
'       [2]: Zebra
'       
'       After sorting for the culture "da-DK":
'       [0]: Apple
'       [1]: Zebra
'       [2]: Æble
System_CAPS_warning警告

文字列を比較する主な目的は、これらが等しいかどうかを呼び出す必要がありますを決定する場合、String.Equalsメソッドです。 通常、使用する必要がありますEquals序数に基づく比較を実行します。 String.Compareメソッドは、主に文字列を並べ替えます。

などの文字列検索メソッド、String.StartsWithおよびString.IndexOf、またカルチャまたは序数の文字列比較を実行します。 次の例を使用する序数とカルチャに依存した比較の違いを示しています、IndexOfメソッドです。 現在のカルチャが英語 (米国) カルチャに依存した検索では、"oe"合字の「œ」と一致する部分文字列と見なします。 検索はソフト ハイフンと同等として処理にソフト ハイフン (U +0 00AD) は、ゼロ幅の文字であるためEmpty文字列の先頭で一致を見つけるとします。 序数に基づく検索の場合、一方は一致が見つかりませんいずれの場合。

Module Example
   Public Sub Main()
      ' Search for "oe" and "œu" in "œufs" and "oeufs".
      Dim s1 As String = "œufs"
      Dim s2 As String = "oeufs"
      FindInString(s1, "oe", StringComparison.CurrentCulture)
      FindInString(s1, "oe", StringComparison.Ordinal)
      FindInString(s2, "œu", StringComparison.CurrentCulture)
      FindInString(s2, "œu", StringComparison.Ordinal)
      Console.WriteLine()

      Dim softHyphen As String = ChrW(&h00AD)
      Dim s3 As String = "co" + softHyphen + "operative"
      FindInString(s3, softHyphen, StringComparison.CurrentCulture)
      FindInString(s3, softHyphen, StringComparison.Ordinal)
   End Sub

   Private Sub FindInString(s As String, substring As String, 
                            options As StringComparison)
      Dim result As Integer = s.IndexOf(substring, options)
      If result <> -1
         Console.WriteLine("'{0}' found in {1} at position {2}", 
                           substring, s, result)
      Else
         Console.WriteLine("'{0}' not found in {1}", 
                           substring, s)
      End If                                                                          
   End Sub
End Module
' The example displays the following output:
'       'oe' found in œufs at position 0
'       'oe' not found in œufs
'       'œu' found in oeufs at position 0
'       'œu' not found in oeufs
'       
'       '­' found in co­operative at position 0
'       '­' found in co­operative at position 2

などの文字列検索メソッド、String.StartsWithString.IndexOf、またカルチャを実行または指定した文字列の文字または部分文字列かどうかを決定する序数に基づく文字列比較が見つかった。

検索方法、Stringなど、個々 の文字を検索するクラス、IndexOfメソッド、または文字のセットのいずれかのように、IndexOfAnyメソッド、序数に基づく検索を実行します。 呼び出す必要がありますの文字をカルチャに依存した検索を実行する、CompareInfoなどのメソッドCompareInfo.IndexOf(String, Char)またはCompareInfo.LastIndexOf(String, Char)です。 序数とカルチャに依存した比較を使用して文字の検索の結果が大きく異なるできることに注意してください。 など、(U + 00 C 6) が構成済みの Unicode 文字合字の「Æ」などの検索に出現するすべてのコンポーネントが正しい順序で"AE"などの一致があります (U +0 041U + 0045)、カルチャに応じて。 次の例は、違いを示しています、String.IndexOf(Char)CompareInfo.IndexOf(String, Char)個々 の文字を検索するときの方法です。 合字の「æ」(U +0 00E6) は、文字列内にある「航空写真」EN-US カルチャの規則を使用する場合は da DK カルチャの規則を使用するときではなくまたは序数に基づく比較を実行するときにします。

Imports System.Globalization

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "da-DK", "en-US" }
      Dim ci As CompareInfo
      Dim str As String = "aerial"
      Dim ch As Char = "æ"c  ' U+00E6

      Console.Write("Ordinal comparison -- ")
      Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                        str.IndexOf(ch))

      For Each cultureName In cultureNames
         ci = CultureInfo.CreateSpecificCulture(cultureName).CompareInfo
         Console.Write("{0} cultural comparison -- ", cultureName)
         Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                           ci.IndexOf(str, ch))
      Next
   End Sub
End Module
' The example displays the following output:
'       Ordinal comparison -- Position of 'æ' in aerial: -1
'       da-DK cultural comparison -- Position of 'æ' in aerial: -1
'       en-US cultural comparison -- Position of 'æ' in aerial: 0

その一方で、Stringを検索する文字ではなく、文字列型のパラメーターは、検索オプションを明示的に指定しない場合カルチャに依存した検索を実行するメソッドをクラスStringComparisonです。 唯一の例外はContains、序数に基づく検索を実行します。

使用して、String.Compare並べ替え順序で 2 つの文字列の関係を判断するメソッド。 通常、これは、カルチャに依存した操作です。 これに対しを呼び出す、String.Equals等しいかどうかをテストするメソッド。 等しいかどうかテストが通常有効なユーザー名、パスワード、またはファイル システム パスなどのいくつかの既知文字列でユーザー入力を比較するため序数に基づく操作では通常です。

System_CAPS_warning警告

呼び出して等価性をテストすることは、String.Compareメソッドおよび戻り値が 0 であるかどうかを決定します。 ただし、この方法はお勧めできません。 2 つの文字列が等しいかどうかを判断するのに、1 つのオーバー ロードを呼び出す必要があります、String.Equalsメソッドです。 優先のオーバー ロードを呼び出すには、いずれかのインスタンスEquals(String, StringComparison)メソッドまたは静的Equals(String, String, StringComparison)メソッド、両方のメソッドが含まれるため、System.StringComparison比較の種類を明示的に指定するパラメーターです。

次の例は、カルチャに依存した比較を実行するときにいずれかの代わりに使用する必要があります、序数に等しいかどうかの危険があることを示しています。 この場合、コードの意図は、文字列 FILE:// で URL の先頭の大文字と小文字を実行することによって FILE:// または file:// で始まる Url をファイル システムへのアクセスを禁止するです。 ただし、file:// で始まる URL をトルコ語 (トルコ) のカルチャを使用してカルチャに依存した比較を実行する場合の等価比較、失敗、トルコ語の大文字表現小文字の"i"は「İ」、"I"の代わりにします。 その結果、ファイル システム アクセスは許可されている誤ってです。 その一方で、序数に基づく比較を実行する場合は、等価性の比較は成功し、ファイル システム アクセスが拒否されました。

Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("tr-TR")      

      Dim filePath As String = "file://c:/notes.txt"

      Console.WriteLine("Culture-sensitive test for equality:")
      If Not TestForEquality(filePath, StringComparison.CurrentCultureIgnoreCase) Then
         Console.WriteLine("Access to {0} is allowed.", filePath)
      Else
         Console.WriteLine("Access to {0} is not allowed.", filePath)
      End If       
      Console.WriteLine()

      Console.WriteLine("Ordinal test for equality:")
      If Not TestForEquality(filePath, StringComparison.OrdinalIgnoreCase) Then
         Console.WriteLine("Access to {0} is allowed.", filePath)
      Else
         Console.WriteLine("Access to {0} is not allowed.", filePath)
      End If       
   End Sub

   Private Function TestForEquality(str As String, cmp As StringComparison) As Boolean
      Dim position As Integer = str.IndexOf("://")
      If position < 0 Then Return False

      Dim substring As String = str.Substring(0, position)  
      Return substring.Equals("FILE", cmp)
   End Function
End Module
' The example displays the following output:
'       Culture-sensitive test for equality:
'       Access to file://c:/notes.txt is allowed.
'       
'       Ordinal test for equality:
'       Access to file://c:/notes.txt is not allowed.

Unicode 文字の一部では、複数の表現があります。 たとえば、次のコード ポイントのいずれか、文字「いずれも」を表すことができます。

  • U +0 1EAF

  • U +0 0103 U +0 0301

  • U +0 0061 U +0 0306 U +0 0301

1 つの文字の複数の表現には、検索、並べ替え、照合、およびその他の文字列操作が複雑になります。

Unicode 規格では、そのバイナリ表現のいずれかの Unicode 文字の 1 つのバイナリ表現を返します正規化と呼ばれるプロセスを定義します。 正規化には、異なる規則に従って、正規化形式と呼ばれるいくつかのアルゴリズムを使用できます。 .NET Framework では、C、D、KC、および KD の Unicode 正規化形式をサポートします。 文字列は、同じ正規形で正規化されている、ときに、序数に基づく比較を使用して比較できます。

序数に基づく比較は対応する Unicode スカラー値のバイナリ比較Charそれぞれの文字列オブジェクト。 Stringクラスには、次を含む、序数に基づく比較を実行できるメソッドの数が含まれています。

呼び出して、文字列が正規形 C に正規化されたかどうかを決定できます、String.IsNormalized()するか、メソッドを呼び出すことができます、String.IsNormalized(NormalizationForm)文字列は、指定された正規形を正規化するかどうかを調べます。 呼び出すことも、String.Normalize()正規形 C、または文字列に変換するメソッドを呼び出すことができます、String.Normalize(NormalizationForm)文字列を指定された正規形に変換します。 正規化して、文字列の比較に関する詳細な手順については、次を参照してください。、Normalize()Normalize(NormalizationForm)メソッドです。

次の例は、文字列の正規化を示しています。 次の 3 つの異なる文字列に 3 つの異なる方法で、文字「ố」を定義し、等しいかどうか序数に基づく比較を使用して、各文字列は、その他の 2 つの文字列によって異なりますを決定します。 各文字列をサポートされている正規化形式に変換し、指定された正規形で各文字列の序数に基づく比較をもう一度実行します。 各ケースでは、等しいかどうかは、2 番目のテストは、文字列が等しいことを示します。

Imports System.Globalization
Imports System.IO
Imports System.Text

Module Example
   Private sw As StreamWriter

   Public Sub Main()
      sw = New StreamWriter(".\TestNorm1.txt")

      ' Define three versions of the same word. 
      Dim s1 As String = "sống"        ' create word with U+1ED1
      Dim s2 AS String = "s" + ChrW(&h00F4) + ChrW(&h0301) + "ng"
      Dim s3 As String = "so" + ChrW(&h0302) + ChrW(&h0301) + "ng"

      TestForEquality(s1, s2, s3)      
      sw.WriteLine()

      ' Normalize and compare strings using each normalization form.
      For Each formName In [Enum].GetNames(GetType(NormalizationForm))
         sw.WriteLine("Normalization {0}:", formName) 
         Dim nf As NormalizationForm = CType([Enum].Parse(GetType(NormalizationForm), formName),  
                                             NormalizationForm)
         Dim sn() As String = NormalizeStrings(nf, s1, s2, s3)
         TestForEquality(sn)           
         sw.WriteLine(vbCrLf)                                        
      Next

      sw.Close()   
   End Sub

   Private Sub TestForEquality(ParamArray words As String())
      For ctr As Integer = 0 To words.Length - 2
         For ctr2 As Integer = ctr + 1 To words.Length - 1 
            sw.WriteLine("{0} ({1}) = {2} ({3}): {4}", 
                         words(ctr), ShowBytes(words(ctr)),
                         words(ctr2), ShowBytes(words(ctr2)),
                         words(ctr).Equals(words(ctr2), StringComparison.Ordinal))
         Next                
      Next   
   End Sub

   Private Function ShowBytes(str As String) As String
      Dim result As String = Nothing
      For Each ch In str
         result += String.Format("{0} ", Convert.ToUInt16(ch).ToString("X4")) 
      Next
      Return result.Trim()            
   End Function  

   Private Function NormalizeStrings(nf As NormalizationForm, ParamArray words() As String) As String()
      For ctr As Integer = 0 To words.Length - 1
         If Not words(ctr).IsNormalized(nf) Then
            words(ctr) = words(ctr).Normalize(nf)
         End If    
      Next
      Return words   
   End Function
End Module
' The example displays the following output:
'       sống (0073 1ED1 006E 0067) = sống (0073 00F4 0301 006E 0067): False
'       sống (0073 1ED1 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
'       sống (0073 00F4 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
'       
'       Normalization FormC:
'       
'       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
'       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
'       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
'       
'       
'       Normalization FormD:
'       
'       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
'       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
'       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
'       
'       
'       Normalization FormKC:
'       
'       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
'       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
'       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
'       
'       
'       Normalization FormKD:
'       
'       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
'       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
'       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True

正規化と正規化フォームの詳細については、次を参照してください。System.Text.NormalizationFormをだけでなくUnicode Standard Annex #15: Unicode Normalization FormsNormalization FAQ unicode.org web サイトです。

Stringクラス文字列を比較する、文字列の等価性をテスト、文字を検索するメンバーを提供または文字列の組み合わせ、値の書式設定、文字列のコピー、および文字列の正規化文字列から部分文字列の抽出、文字列を変更する、文字列の部分文字列します。

以下を使用して、並べ替え順序におけるそれらの相対位置を決定する文字列を比較することができますStringメソッド。

  • Compare並べ替え順序で 2 番目の文字列を 1 つの文字列の関係を示す整数を返します。

  • CompareOrdinalコード ポイントの比較に基づく 2 番目の文字列を 1 つの文字列の関係を示す整数を返します。

  • CompareTo並べ替え順序で 2 番目の文字列を現在の文字列インスタンスの関係を示す整数を返します。 CompareTo(String)メソッドを提供しますIComparableIComparable(Of T)の実装のStringクラスです。

呼び出す、 Equals 2 つの文字列が等しいかどうかを判断するメソッド。 インスタンスEquals(String, String, StringComparison)と静的Equals(String, StringComparison)オーバー ロードを使用して、比較ではカルチャを区別するか、序数に基づくかどうかと、ケースと見なされますまたは無視するかどうかを指定できます。 等しいかどうかのほとんどのテストは、序数に基づくと、(ファイル システム オブジェクトの場合) などのシステム リソースへのアクセスを決定する等価性の比較は、序数に基づく必要があります。

Stringクラスには、検索方法の 2 種類が含まれています。

  • 返すメソッド、Boolean特定の部分文字列は文字列のインスタンス上に存在するかどうかを示す値。 ように、 ContainsEndsWith、およびStartsWithメソッドです。

  • 文字列インスタンス内の部分文字列の開始位置を示すメソッド。 ように、 IndexOfIndexOfAnyLastIndexOf、およびLastIndexOfAnyメソッドです。

System_CAPS_warning警告

特定の部分文字列ではなく、特定のパターンの文字列を検索する場合は、正規表現を使用する必要があります。 詳細については、「.NET Framework の正規表現」を参照してください。

Stringクラスには、文字列の値を変更する表示される次のメソッドが含まれています。

  • Insert現在に文字列を挿入Stringインスタンス。

  • PadLeft文字列の先頭に 1 つまたは複数出現する指定された文字を挿入します。

  • PadRight文字列の先頭に 1 つまたは複数出現する指定された文字を挿入します。

  • Remove現在の部分文字列を削除Stringインスタンス。

  • Replace現在の別の部分文字列の部分文字列に置換Stringインスタンス。

  • ToLower ToLowerInvariant文字列のすべての文字を小文字に変換します。

  • ToUpper ToUpperInvariant文字列のすべての文字を大文字に変換します。

  • Trim先頭と文字列の末尾から文字のすべての出現を削除します。

  • TrimEnd文字列の末尾から文字のすべての出現を削除します。

  • TrimStart文字列の先頭から文字のすべての出現を削除します。

System_CAPS_important重要

すべての文字列の変更メソッドを返す新しいStringオブジェクト。 これらには、現在のインスタンスの値は変更しないでください。

String.Splitメソッドで複数の文字列を 1 つの文字列に分割します。 メソッドのオーバー ロードを使用すると、複数の区切り記号、メソッドを抽出する部分文字列の最大数を決定し、空の文字列 (区切り文字が隣接する場合に発生する) が返される文字列に含まれるかどうかを決定するを指定できます。

Stringメソッドは、文字列の連結を使用できます。

  • Concat1 つの文字列の 1 つまたは複数の部分文字列を結合します。

  • Join1 つの要素に 1 つまたは複数の部分文字列を連結し、各部分文字列間の区切り記号を追加します。

String.Formatメソッドでは、複合書式指定機能を使用して一部のオブジェクトまたは値の文字列形式を文字列内の 1 つまたは複数のプレース ホルダーを置き換えます。 Formatメソッドは、次の操作によく使用します。

  • 文字列に数値の文字列形式を埋め込む。

  • 文字列の日付と時刻の値の文字列形式を埋め込む。

  • 文字列の列挙値の文字列形式を埋め込む。

  • サポートするいくつかのオブジェクトの文字列形式を埋め込むには、IFormattable文字列内のインターフェイスです。

  • 右揃えまたは左揃えの文字列内のフィールド内の部分文字列。

操作と例を書式設定に関する詳細については、次を参照してください。、Formatオーバー ロードの概要です。

以下を呼び出すことができますString文字列のコピーを作成する方法。

  • Clone既存の参照を返しますStringオブジェクト。

  • Copy既存の文字列のコピーを作成します。

  • CopyTo文字列の一部を文字配列にコピーします。

Unicode では、1 つの文字は、複数のコード ポイントを持つことができます。 正規化は、これらと同等の文字を同じのバイナリ表現に変換します。 String.Normalizeメソッドは、正規化を実行し、String.IsNormalizedメソッドでは、文字列を正規化するかどうかを判断します。

例および詳細については、次を参照してください。、正規化このトピックの前半の「します。

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
1.1 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
2.0 以降で使用可能
Windows Phone Silverlight
7.0 以降で使用可能
Windows Phone
8.1 以降で使用可能

この型はスレッド セーフです。

トップに戻る
表示: