エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

String クラス

テキストを一連の Unicode 文字として表現します。

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class String : IComparable, 
	ICloneable, IConvertible, IComparable<string>, IEnumerable<char>, 
	IEnumerable, IEquatable<string>

String 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETString(Char*) String クラスの新しいインスタンスを初期化し、指定した Unicode 文字配列を指すポインターにより示される値に設定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETString(Char[]) String クラスの新しいインスタンスを初期化し、Unicode 文字の配列により示される値に設定します。
パブリック メソッドXNA Framework によるサポートString(SByte*) String クラスの新しいインスタンスを初期化し、8 ビット符号付き整数の配列を指すポインターにより示される値に設定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETString(Char, Int32) String クラスの新しいインスタンスを初期化し、指定した回数だけ繰り返した指定の Unicode 文字が示す値に設定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETString(Char*, Int32, Int32) String クラスの新しいインスタンスを初期化し、Unicode 文字の配列を指す指定のポインター、配列内の開始文字位置、および長さにより示される値に設定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETString(Char[], Int32, Int32) String クラスの新しいインスタンスを初期化し、Unicode 文字の配列、配列内の開始文字位置、および長さにより示される値に設定します。
パブリック メソッドString(SByte*, Int32, Int32) String クラスの新しいインスタンスを初期化し、8 ビット符号付き整数の配列を指す指定のポインター、配列内の開始位置、および長さにより示される値に設定します。
パブリック メソッドString(SByte*, Int32, Int32, Encoding) String クラスの新しいインスタンスを初期化し、8 ビット符号付き整数の配列を指す指定のポインター、配列内の開始位置、長さ、および Encoding オブジェクトにより示される値に設定します。
このページのトップへ

  名前説明
パブリック プロパティXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETChars現在の String オブジェクト内の指定した位置にある Char オブジェクトを取得します。
パブリック プロパティXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLength現在の String オブジェクト内の文字数を取得します。
このページのトップへ

  名前説明
パブリック メソッドXNA Framework によるサポートCloneこの String インスタンスへの参照を返します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompare(String, String)指定した 2 つの String オブジェクトを比較し、それらの相対位置を並べ替え順序で示す整数を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートCompare(String, String, Boolean)指定した 2 つの String オブジェクトを比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを設定できます。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompare(String, String, StringComparison)指定した規則を使用して、指定した 2 つの String オブジェクトを比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートCompare(String, String, Boolean, CultureInfo)指定した 2 つの String オブジェクトを比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを指定し、比較に影響を及ぼすカルチャ固有の情報を使用します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートCompare(String, String, CultureInfo, CompareOptions)指定した 2 つの String オブジェクトを比較し、2 つの文字列の互いのリレーションシップを並べ替え順序で示す整数を返します。比較時に、指定した比較オプションと、比較に影響を及ぼすカルチャ固有の情報を使用します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompare(String, Int32, String, Int32, Int32)指定した 2 つの String オブジェクトの部分文字列を比較し、それらの相対位置を並べ替え順序で示す整数を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートCompare(String, Int32, String, Int32, Int32, Boolean)指定した 2 つの String オブジェクトの部分文字列を比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを設定できます。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompare(String, Int32, String, Int32, Int32, StringComparison)指定した規則を使用して、指定した 2 つの String オブジェクトの部分文字列を比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートCompare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)指定した 2 つの String オブジェクトの部分文字列を比較し、並べ替え順序におけるそれらの相対位置を示す整数を返します。比較時に、大文字と小文字を区別するかどうかを指定し、比較に影響を及ぼすカルチャ固有の情報を使用します。
パブリック メソッド静的メンバーCompare(String, Int32, String, Int32, Int32, CultureInfo, CompareOptions)指定した 2 つの String オブジェクトの部分文字列を比較し、2 つの部分文字列の互いのリレーションシップを並べ替え順序で示す整数を返します。比較時に、指定した比較オプションと、比較に影響を及ぼすカルチャ固有の情報を使用します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompareOrdinal(String, String)それぞれの文字列の対応する Char オブジェクトの数値を評価することで、指定した 2 つの String を比較します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompareOrdinal(String, Int32, String, Int32, Int32)それぞれの部分文字列の対応する Char オブジェクトの数値を評価することで、指定した 2 つの String を比較します。
パブリック メソッドXNA Framework によるサポートCompareTo(Object)このインスタンスと指定した Object とを比較し、並べ替え順序において、このインスタンスの位置が指定した Object の前、後ろ、または同じのいずれであるかを示します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompareTo(String)このインスタンスと指定した String オブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した String の前、後ろ、または同じのいずれであるかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(Object)指定されたオブジェクトの文字列形式を作成します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(Object[])指定した Object 配列の要素の文字列形式を連結します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(IEnumerable<String>) String 型の構築された IEnumerable<T> コレクションのメンバーを連結します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(String[])指定した String 配列の要素を連結します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(Object, Object)指定した 2 つのオブジェクトの文字列形式を連結します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(String, String)指定した 2 つの String インスタンスを連結します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(Object, Object, Object)指定した 3 つのオブジェクトの文字列形式を連結します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(String, String, String)指定した 3 つの String インスタンスを連結します。
パブリック メソッド静的メンバーConcat(Object, Object, Object, Object)4 つの指定したオブジェクトと、オプションの可変長パラメーター リストで指定した任意のオブジェクトの文字列表現を連結します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat(String, String, String, String)指定した 4 つの String インスタンスを連結します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConcat<T>(IEnumerable<T>) IEnumerable<T> 実装のメンバーを連結します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETContains指定した部分文字列がこの文字列内に存在するかどうかを示す値を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートCopy指定した String と同じ値を使用して、String の新しいインスタンスを作成します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCopyToこのインスタンスの指定位置から指定した数の文字を、Unicode 文字の配列内の指定位置へコピーします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEndsWith(String)この文字列インスタンスの末尾が、指定した文字列と一致するかどうかを判断します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEndsWith(String, StringComparison)指定された比較オプションを使って比較した場合に、この文字列インスタンスの末尾が、指定された文字列と一致するかどうかを判断します。
パブリック メソッドEndsWith(String, Boolean, CultureInfo)指定されたカルチャを使って比較した場合に、この文字列インスタンスの末尾が、指定された文字列と一致するかどうかを判断します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(Object)このインスタンスと、指定したオブジェクトの値が同一かどうかを判断します。String オブジェクトを指定する必要があります。 (Object.Equals(Object) をオーバーライドします。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(String)このインスタンスと、指定した別の String の値が同一かどうかを判断します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(String, String)指定した 2 つの String オブジェクトの値が同一かどうかを判断します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(String, StringComparison)この文字列と、指定した String オブジェクトの値が同一かどうかを判断します。 比較に使用するカルチャ、大文字と小文字の区別、および、並べ替え規則をパラメーターで指定します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(String, String, StringComparison)指定した 2 つの String オブジェクトの値が同一かどうかを判断します。 比較に使用するカルチャ、大文字と小文字の区別、および、並べ替え規則をパラメーターで指定します。
パブリック メソッド静的メンバーXNA Framework によるサポートFormat(String, Object)指定した文字列の 1 つまたは複数の書式項目を、指定したオブジェクトの文字列形式に置換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETFormat(String, Object[])指定した文字列の書式項目を、指定した配列内の対応するオブジェクトの文字列形式に置換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETFormat(IFormatProvider, String, Object[])指定した文字列の書式項目を、指定した配列内の対応するオブジェクトの文字列形式に置換します。 パラメーターにより、カルチャに固有の書式情報が指定されます。
パブリック メソッド静的メンバーXNA Framework によるサポートFormat(String, Object, Object)指定した文字列の書式項目を、指定した 2 つのオブジェクトの文字列形式に置換します。
パブリック メソッド静的メンバーXNA Framework によるサポートFormat(String, Object, Object, Object)指定した文字列の書式項目を、指定した 3 つのオブジェクトの文字列形式に置換します
パブリック メソッドXNA Framework によるサポートGetEnumeratorこの文字列に含まれる個々の文字を反復処理するオブジェクトを取得します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetHashCodeこの文字列のハッシュ コードを返します。 (Object.GetHashCode() をオーバーライドします。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポートGetTypeCode String クラスの TypeCode を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(Char)指定した Unicode 文字がこの文字列内で最初に見つかった位置の 0 から始まるインデックスをレポートします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(String)指定された文字列がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(Char, Int32)指定した Unicode 文字がこの文字列内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は、指定した文字位置から開始されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(String, Int32)指定された文字列がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は、指定した文字位置から開始されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(String, StringComparison)指定した文字列が現在の String オブジェクト内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 指定した文字列に使用する検索の種類を指定するパラメーター。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(Char, Int32, Int32)指定文字がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は指定した文字位置から開始され、指定した数の文字位置が検査されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(String, Int32, Int32)指定された文字列がこのインスタンス内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は指定した文字位置から開始され、指定した数の文字位置が検査されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(String, Int32, StringComparison)指定した文字列が現在の String オブジェクト内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 パラメーターは、現在の文字列内での検索の開始位置を指定し、指定した文字列に使用する検索の種類を指定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOf(String, Int32, Int32, StringComparison)指定した文字列が現在の String オブジェクト内で最初に見つかった位置の 0 から始まるインデックスをレポートします。 パラメーターは、現在の文字列での検索位置、現在の文字列で検索する文字の数、および指定した文字列に使用する検索の種類を指定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOfAny(Char[])Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置の 0 から始まるインデックスをレポートします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOfAny(Char[], Int32)Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は、指定した文字位置から開始されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIndexOfAny(Char[], Int32, Int32)Unicode 文字の指定した配列内にある文字がこのインスタンスで最初に見つかった位置の 0 から始まるインデックスをレポートします。 検索は指定した文字位置から開始され、指定した数の文字位置が検査されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETInsertこのインスタンス内の指定したインデックス位置に指定した文字列を挿入する場合の、新しい文字列を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートIntern指定した String へのシステム参照を取得します。
パブリック メソッド静的メンバーXNA Framework によるサポートIsInterned指定した String への参照を取得します。
パブリック メソッドIsNormalized()この文字列が、Unicode 正規形 C であるかどうかを示します。
パブリック メソッドIsNormalized(NormalizationForm)この文字列が、指定された Unicode 正規形であるかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsNullOrEmpty指定された文字列が null または Empty 文字列であるかどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsNullOrWhiteSpace指定された文字列が null または空であるか、空白文字だけで構成されているかどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETJoin(String, IEnumerable<String>) String 型の構築された IEnumerable<T> コレクションのメンバーを連結します。各メンバーの間には、指定した区切り記号が挿入されます。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETJoin(String, Object[])オブジェクト配列の要素を連結します。各要素の間には、指定した区切り記号が挿入されます。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETJoin(String, String[])文字列配列のすべての要素を連結します。各要素の間には、指定した区切り記号が挿入されます。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETJoin(String, String[], Int32, Int32)文字列配列の指定した要素を連結します。各要素の間には、指定した区切り記号が挿入されます。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETJoin<T>(String, IEnumerable<T>)コレクションのメンバーを連結します。各メンバーの間には、指定した区切り記号が挿入されます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(Char)このインスタンス内で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(String)指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(Char, Int32)このインスタンス内で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(String, Int32)指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(String, StringComparison)指定した文字列が現在の String オブジェクト内で最後に見つかった 0 から始まる位置のインデックスをレポートします。 指定した文字列に使用する検索の種類を指定するパラメーター。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(Char, Int32, Int32)このインスタンス内の部分文字列で最後に出現する指定 Unicode 文字の 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(String, Int32, Int32)指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(String, Int32, StringComparison)指定した文字列が現在の String オブジェクト内で最後に見つかった 0 から始まる位置のインデックスをレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。 指定した文字列の検索時に実行する比較の種類を指定するパラメーター。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOf(String, Int32, Int32, StringComparison)指定された文字列がこのインスタンス内で最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。 指定した文字列の検索時に実行する比較の種類を指定するパラメーター。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOfAny(Char[])Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOfAny(Char[], Int32)Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は、指定された文字位置から開始され、文字列の先頭に向かって逆方向に進みます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETLastIndexOfAny(Char[], Int32, Int32)Unicode 配列内の指定した 1 つ以上の文字がこのインスタンスで最後に見つかった 0 から始まるインデックス位置をレポートします。 検索は指定された文字位置から開始し、文字列の開始に向かって後方に移動し、文字位置の指定された数だけ行われます。
パブリック メソッドNormalize()この文字列と同じテキスト値を持ち、なおかつ、バイナリ表現が Unicode 正規形 C である新しい文字列を返します。
パブリック メソッドNormalize(NormalizationForm)この文字列と同じテキスト値を持ち、なおかつ、バイナリ表現が、指定された Unicode 正規形である新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETPadLeft(Int32)指定された文字数になるまで左側に空白を埋め込むことで、このインスタンス内の文字を右寄せした新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETPadLeft(Int32, Char)指定された文字数になるまで左側に指定された Unicode 文字を埋め込むことで、このインスタンス内の文字を右寄せした新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETPadRight(Int32)指定された文字数になるまで右側に空白を埋め込むことで、この文字列内の文字を左寄せした新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETPadRight(Int32, Char)指定された文字数になるまで右側に指定された Unicode 文字を埋め込むことで、この文字列内の文字を左寄せした新しい文字列を返します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETRemove(Int32)現在のインスタンスの指定した位置から指定した最後の位置までの全文字が削除された新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETRemove(Int32, Int32)現在のインスタンス内の指定した位置から指定した文字数が削除された新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETReplace(Char, Char)このインスタンスに出現する指定した Unicode 文字をすべて、別に指定した Unicode 文字に置換した新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETReplace(String, String)現在のインスタンスに出現する指定した文字列をすべて、別に指定した文字列に置換した新しい文字列を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSplit(Char[])このインスタンス内の、指定された Unicode 文字の配列の要素で区切られた部分文字列を格納する文字列配列を返します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSplit(Char[], Int32)このインスタンス内の、指定された Unicode 文字の配列の要素で区切られた部分文字列を格納する文字列配列を返します。 パラメーターには、取得する部分文字列の最大数を指定します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSplit(Char[], StringSplitOptions)指定された Unicode 文字の配列の要素で区切られた、この文字列の部分文字列を格納する文字列配列を返します。 空の配列要素を返すかどうかをパラメーターで指定します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSplit(String[], StringSplitOptions)指定された文字列の配列の要素で区切られた、この文字列の部分文字列を格納する文字列配列を返します。 空の配列要素を返すかどうかをパラメーターで指定します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSplit(Char[], Int32, StringSplitOptions)指定された Unicode 文字の配列の要素で区切られた、この文字列の部分文字列を格納する文字列配列を返します。 返される部分文字列の最大数と、空の配列要素を返すかどうかをパラメーターで指定します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSplit(String[], Int32, StringSplitOptions)指定された文字列の配列の要素で区切られた、この文字列の部分文字列を格納する文字列配列を返します。 返される部分文字列の最大数と、空の配列要素を返すかどうかをパラメーターで指定します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETStartsWith(String)この文字列インスタンスの先頭が、指定した文字列と一致するかどうかを判断します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETStartsWith(String, StringComparison)指定された比較オプションを使って比較した場合に、この文字列インスタンスの先頭が、指定された文字列と一致するかどうかを判断します。
パブリック メソッドStartsWith(String, Boolean, CultureInfo)指定されたカルチャを使って比較した場合に、この文字列インスタンスの先頭が、指定された文字列と一致するかどうかを判断します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSubstring(Int32)インスタンスから部分文字列を取得します。 部分文字列は、文字列中の指定した文字の位置で開始し、文字列の末尾まで続きます。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETSubstring(Int32, Int32)インスタンスから部分文字列を取得します。 この部分文字列は、指定した文字位置から開始し、指定した文字数の文字列です。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToCharArray()このインスタンスの文字を Unicode 文字配列へコピーします。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToCharArray(Int32, Int32)このインスタンスの指定した部分文字列の文字を Unicode 文字配列へコピーします。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToLower()この文字列のコピーを小文字に変換して返します。
パブリック メソッドXNA Framework によるサポートToLower(CultureInfo)指定されたカルチャの大文字と小文字の規則を使用して、この文字列のコピーを小文字に変換して返します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToLowerInvariantインバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを小文字に変換して返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString() String のこのインスタンスを返します。実際の変換処理は実行されません。 (Object.ToString() をオーバーライドします。)
パブリック メソッドXNA Framework によるサポートToString(IFormatProvider) String のこのインスタンスを返します。実際の変換処理は実行されません。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToUpper()この文字列のコピーを大文字に変換して返します。
パブリック メソッドXNA Framework によるサポートToUpper(CultureInfo)指定されたカルチャの大文字と小文字の規則を使用して、この文字列のコピーを大文字に変換して返します。
パブリック メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToUpperInvariantインバリアント カルチャの大文字と小文字の規則を使用して、この String オブジェクトのコピーを大文字に変換して返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTrim()現在の String オブジェクトの先頭および末尾にある空白文字をすべて削除します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTrim(Char[])現在の String オブジェクトの先頭および末尾から、配列で指定された文字セットをすべて削除します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTrimEnd現在の String オブジェクトの末尾から、配列で指定された文字セットをすべて削除します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTrimStart現在の String オブジェクトの先頭から、配列で指定された文字セットをすべて削除します。
このページのトップへ

  名前説明
パブリック演算子静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquality指定した 2 つの文字列の値が同一かどうかを判断します。
パブリック演算子静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETInequality指定した 2 つの文字列の値が異なるかどうかを判断します。
このページのトップへ

  名前説明
パブリック Extension メソッドXNA Framework によるサポートAggregate<Char>(Func<Char, Char, Char>)オーバーロードされます。 シーケンスにアキュムレータ関数を適用します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAggregate<Char, TAccumulate>(TAccumulate, Func<TAccumulate, Char, TAccumulate>)オーバーロードされます。 シーケンスにアキュムレータ関数を適用します。 指定されたシード値が最初のアキュムレータ値として使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAggregate<Char, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, Char, TAccumulate>, Func<TAccumulate, TResult>)オーバーロードされます。 シーケンスにアキュムレータ関数を適用します。 指定したシード値は最初のアキュムレータ値として使用され、指定した関数は結果値の選択に使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAll<Char>シーケンスのすべての要素が条件を満たしているかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAny<Char>()オーバーロードされます。 シーケンスに要素が含まれているかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAny<Char>(Func<Char, Boolean>)オーバーロードされます。 シーケンスの任意の要素が条件を満たしているかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAsEnumerable<Char> IEnumerable<T> として型指定された入力を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETAsParallel()オーバーロードされます。 クエリの並列化を有効にします。 (ParallelEnumerable によって定義されています。)
パブリック Extension メソッドAsParallel<Char>()オーバーロードされます。 クエリの並列化を有効にします。 (ParallelEnumerable によって定義されています。)
パブリック Extension メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETAsQueryable()オーバーロードされます。 IEnumerable IQueryable に変換します。 (Queryable によって定義されています。)
パブリック Extension メソッドAsQueryable<Char>()オーバーロードされます。 ジェネリックの IEnumerable<T> をジェネリックの IQueryable<T> に変換します。 (Queryable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Int32>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Int32 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Nullable<Int32>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Int32 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Int64>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Int64 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Nullable<Int64>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Int64 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Single>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Single 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Nullable<Single>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Single 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Double>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Double 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Nullable<Double>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Double 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Decimal>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Decimal 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートAverage<Char>(Func<Char, Nullable<Decimal>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Decimal 値のシーケンスの平均値を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCast<TResult> IEnumerable の要素を、指定した型にキャストします。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートConcat<Char>2 つのシーケンスを連結します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートContains<Char>(Char)オーバーロードされます。 既定の等値比較子を使用して、指定した要素がシーケンスに含まれているかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートContains<Char>(Char, IEqualityComparer<Char>)オーバーロードされます。 指定した IEqualityComparer<T> を使用して、指定した要素がシーケンスに含まれているかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートCount<Char>()オーバーロードされます。 シーケンス内の要素数を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートCount<Char>(Func<Char, Boolean>)オーバーロードされます。 条件を満たす、指定されたシーケンス内の要素の数を表す数値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートDefaultIfEmpty<Char>()オーバーロードされます。 指定したシーケンスの要素を返します。シーケンスが空の場合はシングルトン コレクションにある型パラメーターの既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートDefaultIfEmpty<Char>(Char)オーバーロードされます。 指定されたシーケンスの要素を返します。シーケンスが空の場合はシングルトン コレクションにある型パラメーターの既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートDistinct<Char>()オーバーロードされます。 既定の等値比較子を使用して値を比較することにより、シーケンスから一意の要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートDistinct<Char>(IEqualityComparer<Char>)オーバーロードされます。 指定された IEqualityComparer<T> を使用して値を比較することにより、シーケンスから一意の要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートElementAt<Char>シーケンス内の指定されたインデックス位置にある要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートElementAtOrDefault<Char>シーケンス内の指定されたインデックス位置にある要素を返します。インデックスが範囲外の場合は既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートExcept<Char>(IEnumerable<Char>)オーバーロードされます。 既定の等値比較子を使用して値を比較することにより、2 つのシーケンスの差集合を生成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートExcept<Char>(IEnumerable<Char>, IEqualityComparer<Char>)オーバーロードされます。 指定された IEqualityComparer<T> を使用して値を比較することにより、2 つのシーケンスの差集合を生成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートFirst<Char>()オーバーロードされます。 シーケンスの最初の要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートFirst<Char>(Func<Char, Boolean>)オーバーロードされます。 指定された条件を満たす、シーケンスの最初の要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートFirstOrDefault<Char>()オーバーロードされます。 シーケンスの最初の要素を返します。シーケンスに要素が含まれていない場合は既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートFirstOrDefault<Char>(Func<Char, Boolean>)オーバーロードされます。 条件を満たす、シーケンスの最初の要素を返します。このような要素が見つからない場合は既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey>(Func<Char, TKey>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、指定された比較子を使用してキーを比較します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、指定された関数を使用して各グループの要素を射影します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)オーバーロードされます。 キー セレクター関数に従ってシーケンスの要素をグループ化します。 キーの比較には、比較子を使用し、各グループの要素の射影には、指定された関数を使用します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 キーの比較には、指定された比較子を使用します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 各グループの要素は、指定された関数を使用して射影されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数に従ってシーケンスの要素をグループ化し、各グループとそのキーから結果値を作成します。 キー値の比較には、指定された比較子を使用し、各グループの要素の射影には、指定された関数を使用します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>)オーバーロードされます。 キーが等しいかどうかに基づいて 2 つのシーケンスの要素を相互に関連付け、その結果をグループ化します。 キーの比較には既定の等値比較子が使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)オーバーロードされます。 キーが等しいかどうかに基づいて 2 つのシーケンスの要素を相互に関連付け、その結果をグループ化します。 指定された IEqualityComparer<T> を使用してキーを比較します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートIntersect<Char>(IEnumerable<Char>)オーバーロードされます。 既定の等値比較子を使用して値を比較することにより、2 つのシーケンスの積集合を生成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートIntersect<Char>(IEnumerable<Char>, IEqualityComparer<Char>)オーバーロードされます。 指定された IEqualityComparer<T> を使用して値を比較することにより、2 つのシーケンスの積集合を生成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>)オーバーロードされます。 一致するキーに基づいて 2 つのシーケンスの要素を相互に関連付けます。 キーの比較には既定の等値比較子が使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>, IEqualityComparer<TKey>)オーバーロードされます。 一致するキーに基づいて 2 つのシーケンスの要素を相互に関連付けます。 指定された IEqualityComparer<T> を使用してキーを比較します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートLast<Char>()オーバーロードされます。 シーケンスの最後の要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートLast<Char>(Func<Char, Boolean>)オーバーロードされます。 指定された条件を満たす、シーケンスの最後の要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートLastOrDefault<Char>()オーバーロードされます。 シーケンスの最後の要素を返します。シーケンスに要素が含まれていない場合は既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートLastOrDefault<Char>(Func<Char, Boolean>)オーバーロードされます。 条件を満たす、シーケンスの最後の要素を返します。このような要素が見つからない場合は既定値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートLongCount<Char>()オーバーロードされます。 シーケンス内の要素の合計数を表す Int64 を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートLongCount<Char>(Func<Char, Boolean>)オーバーロードされます。 シーケンス内で条件を満たす要素の数を表す Int64 を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>()オーバーロードされます。 ジェネリック シーケンスの最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Int32>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Int32 の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Nullable<Int32>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Int32 の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Int64>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Int64 の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Nullable<Int64>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Int64 の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Single>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Single の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Nullable<Single>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Single の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Double>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Double の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Nullable<Double>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Double の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Decimal>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Decimal の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char>(Func<Char, Nullable<Decimal>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Decimal の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMax<Char, TResult>(Func<Char, TResult>)オーバーロードされます。 ジェネリック シーケンスの各要素に対して変換関数を呼び出し、結果の最大値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>()オーバーロードされます。 ジェネリック シーケンスの最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Int32>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Int32 の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Nullable<Int32>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Int32 の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Int64>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Int64 の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Nullable<Int64>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Int64 の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Single>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Single の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Nullable<Single>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Single の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Double>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Double の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Nullable<Double>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Double の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Decimal>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、Decimal の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char>(Func<Char, Nullable<Decimal>>)オーバーロードされます。 シーケンスの各要素に対して変換関数を呼び出し、null 許容の Decimal の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートMin<Char, TResult>(Func<Char, TResult>)オーバーロードされます。 ジェネリック シーケンスの各要素に対して変換関数を呼び出し、結果の最小値を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETOfType<TResult>指定された型に基づいて IEnumerable の要素をフィルター処理します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートOrderBy<Char, TKey>(Func<Char, TKey>)オーバーロードされます。 シーケンスの要素をキーに従って昇順に並べ替えます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートOrderBy<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)オーバーロードされます。 指定された比較子を使用してシーケンスの要素を昇順に並べ替えます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートOrderByDescending<Char, TKey>(Func<Char, TKey>)オーバーロードされます。 シーケンスの要素をキーに従って降順に並べ替えます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートOrderByDescending<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)オーバーロードされます。 指定された比較子を使用してシーケンスの要素を降順に並べ替えます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートReverse<Char>シーケンスの要素の順序を反転させます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSelect<Char, TResult>(Func<Char, TResult>)オーバーロードされます。 シーケンスの各要素を新しいフォームに射影します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSelect<Char, TResult>(Func<Char, Int32, TResult>)オーバーロードされます。 要素のインデックスを組み込むことにより、シーケンスの各要素を新しいフォームに射影します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSelectMany<Char, TResult>(Func<Char, IEnumerable<TResult>>)オーバーロードされます。 シーケンスの各要素を IEnumerable<T> に射影し、結果のシーケンスを 1 つのシーケンスに平坦化します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSelectMany<Char, TResult>(Func<Char, Int32, IEnumerable<TResult>>)オーバーロードされます。 シーケンスの各要素を IEnumerable<T> に射影し、結果のシーケンスを 1 つのシーケンスに平坦化します。 各ソース要素のインデックスは、その要素の射影されたフォームで使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSelectMany<Char, TCollection, TResult>(Func<Char, Int32, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)オーバーロードされます。 シーケンスの各要素を IEnumerable<T> に射影し、結果のシーケンスを 1 つのシーケンスに平坦化して、その各要素に対して結果のセレクター関数を呼び出します。 各ソース要素のインデックスは、その要素の中間の射影されたフォームで使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSelectMany<Char, TCollection, TResult>(Func<Char, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)オーバーロードされます。 シーケンスの各要素を IEnumerable<T> に射影し、結果のシーケンスを 1 つのシーケンスに平坦化して、その各要素に対して結果のセレクター関数を呼び出します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSequenceEqual<Char>(IEnumerable<Char>)オーバーロードされます。 要素の型に対して既定の等値比較子を使用して要素を比較することで、2 つのシーケンスが等しいかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSequenceEqual<Char>(IEnumerable<Char>, IEqualityComparer<Char>)オーバーロードされます。 指定された IEqualityComparer<T> を使用して要素を比較することで、2 つのシーケンスが等しいかどうかを判断します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSingle<Char>()オーバーロードされます。 シーケンスの唯一の要素を返します。シーケンス内の要素が 1 つだけではない場合は、例外をスローします。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSingle<Char>(Func<Char, Boolean>)オーバーロードされます。 指定された条件を満たす、シーケンスの唯一の要素を返します。そのような要素が複数存在する場合は、例外をスローします。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSingleOrDefault<Char>()オーバーロードされます。 シーケンスの唯一の要素を返します。シーケンスが空の場合、既定値を返します。シーケンス内に要素が複数ある場合、このメソッドは例外をスローします。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSingleOrDefault<Char>(Func<Char, Boolean>)オーバーロードされます。 指定された条件を満たす、シーケンスの唯一の要素を返します。そのような要素が存在しない場合、既定値を返します。複数の要素が条件を満たす場合、このメソッドは例外をスローします。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSkip<Char>シーケンス内の指定された数の要素をバイパスし、残りの要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSkipWhile<Char>(Func<Char, Boolean>)オーバーロードされます。 指定された条件が満たされる限り、シーケンスの要素をバイパスした後、残りの要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSkipWhile<Char>(Func<Char, Int32, Boolean>)オーバーロードされます。 指定された条件が満たされる限り、シーケンスの要素をバイパスした後、残りの要素を返します。 要素のインデックスは、述語関数のロジックで使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドSubscribe<Char>(IObserver<Char>)オーバーロードされます。 (Observable によって定義されています。)
パブリック Extension メソッドSubscribe<Char>(IObserver<Char>, IScheduler)オーバーロードされます。 (Observable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Int32>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Int32 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Nullable<Int32>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Int32 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Int64>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Int64 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Nullable<Int64>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Int64 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Single>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Single 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Nullable<Single>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Single 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Double>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Double 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Nullable<Double>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Double 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Decimal>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する Decimal 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートSum<Char>(Func<Char, Nullable<Decimal>>)オーバーロードされます。 入力シーケンスの各要素に対して変換関数を呼び出して取得する null 許容の Decimal 値のシーケンスの合計を計算します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートTake<Char>シーケンスの先頭から、指定された数の連続する要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートTakeWhile<Char>(Func<Char, Boolean>)オーバーロードされます。 指定された条件が満たされる限り、シーケンスから要素を返します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートTakeWhile<Char>(Func<Char, Int32, Boolean>)オーバーロードされます。 指定された条件が満たされる限り、シーケンスから要素を返します。 要素のインデックスは、述語関数のロジックで使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToArray<Char> IEnumerable<T> から配列を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToDictionary<Char, TKey>(Func<Char, TKey>)オーバーロードされます。 指定されたキー セレクター関数に従って、IEnumerable<T> から Dictionary<TKey, TValue> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToDictionary<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数およびキーの比較子に従って、IEnumerable<T> から Dictionary<TKey, TValue> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)オーバーロードされます。 指定されたキー セレクター関数および要素セレクター関数に従って、IEnumerable<T> から Dictionary<TKey, TValue> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数、比較子、および要素セレクター関数に従って、IEnumerable<T> から Dictionary<TKey, TValue> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToList<Char> IEnumerable<T> から List<T> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToLookup<Char, TKey>(Func<Char, TKey>)オーバーロードされます。 指定されたキー セレクター関数に従って、IEnumerable<T> から Lookup<TKey, TElement> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToLookup<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数およびキーの比較子に従って、IEnumerable<T> から Lookup<TKey, TElement> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)オーバーロードされます。 指定されたキー セレクター関数および要素セレクター関数に従って、IEnumerable<T> から Lookup<TKey, TElement> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)オーバーロードされます。 指定されたキー セレクター関数、比較子、および要素セレクター関数に従って、IEnumerable<T> から Lookup<TKey, TElement> を作成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドToObservable<Char>()オーバーロードされます。 (Observable によって定義されています。)
パブリック Extension メソッドToObservable<Char>(IScheduler)オーバーロードされます。 (Observable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートUnion<Char>(IEnumerable<Char>)オーバーロードされます。 既定の等値比較子を使用して、2 つのシーケンスの和集合を生成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートUnion<Char>(IEnumerable<Char>, IEqualityComparer<Char>)オーバーロードされます。 指定された IEqualityComparer<T> を使用して 2 つのシーケンスの和集合を生成します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートWhere<Char>(Func<Char, Boolean>)オーバーロードされます。 述語に基づいて値のシーケンスをフィルター処理します。 (Enumerable によって定義されています。)
パブリック Extension メソッドXNA Framework によるサポートWhere<Char>(Func<Char, Int32, Boolean>)オーバーロードされます。 述語に基づいて値のシーケンスをフィルター処理します。 各要素のインデックスは、述語関数のロジックで使用されます。 (Enumerable によって定義されています。)
パブリック Extension メソッドZip<Char, TSecond, TResult>2 つのシーケンスの対応する要素に対して、1 つの指定した関数を適用し、結果として 1 つのシーケンスを生成します。 (Enumerable によって定義されています。)
このページのトップへ

  名前説明
パブリック フィールド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEmpty空の文字列を表します。 このフィールドは読み取り専用です。
このページのトップへ

  名前説明
明示的なインターフェイス実装プライベート メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIComparable.CompareTo現在のインスタンスを同じ型の別のオブジェクトと比較し、現在のインスタンスの並べ替え順序での位置が、比較対象のオブジェクトと比べて前か、後か、または同じかを示す整数を返します。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToBooleanインフラストラクチャ。このメンバーの説明については、ToBoolean のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToByteインフラストラクチャ。このメンバーの説明については、ToByte のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToCharインフラストラクチャ。このメンバーの説明については、ToChar のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDateTimeインフラストラクチャ。このメンバーの説明については、ToDateTime のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDecimalインフラストラクチャ。このメンバーの説明については、ToDecimal のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDoubleインフラストラクチャ。このメンバーの説明については、ToDouble のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt16インフラストラクチャ。このメンバーの説明については、ToInt16 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt32インフラストラクチャ。このメンバーの説明については、ToInt32 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt64インフラストラクチャ。このメンバーの説明については、ToInt64 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToSByteインフラストラクチャ。このメンバーの説明については、ToSByte のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToSingleインフラストラクチャ。このメンバーの説明については、ToSingle のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToTypeインフラストラクチャ。このメンバーの説明については、ToType のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt16インフラストラクチャ。このメンバーの説明については、ToUInt16 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt32インフラストラクチャ。このメンバーの説明については、ToUInt32 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt64インフラストラクチャ。このメンバーの説明については、ToUInt64 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIEnumerable<Char>.GetEnumerator現在の String オブジェクトを反復処理する列挙子を返します。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIEnumerable.GetEnumerator現在の String オブジェクトを反復処理する列挙子を返します。
このページのトップへ

文字列は、テキストを表現するために使用される Unicode 文字のシーケンシャル コレクションです。 String オブジェクトは、文字列を表す System.Char オブジェクトのシーケンシャル コレクションです。 String オブジェクトの値はシーケンシャル コレクションの内容であり、この値は変更できません (つまり、読み取り専用です)。 文字列の不変性に関する詳細については、このトピックの 不変性と Stringbuilder クラス セクションを後で参照します。 メモリの String オブジェクトの最大サイズは 2 GB、約 10億文字です。

このセクションの内容:

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

文字列オブジェクトをインスタンス化する。

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

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

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

    
    char[] chars = { 'w', 'o', 'r', 'd' };
    sbyte[] bytes = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x00 };
    
    // Create a string from a character array.
    string string1 = new string(chars);
    Console.WriteLine(string1);
    
    // Create a string that consists of a character repeated 20 times.
    string string2 = new string('c', 20);
    Console.WriteLine(string2);
    
    string stringFromBytes = null;
    string stringFromChars = null;
    unsafe
    {
       fixed (sbyte* pbytes = bytes)
       {
          // Create a string from a pointer to a signed byte array.
          stringFromBytes = new string(pbytes);
       }
       fixed (char* pchars = chars)
       {
          // Create a string from a pointer to a character array.
          stringFromChars = new string(pchars);
       }
    }
    Console.WriteLine(stringFromBytes);
    Console.WriteLine(stringFromChars);
    // The example displays the following output:
    //       word
    //       cccccccccccccccccccc
    //       ABCDE
    //       word  
    
    
    
  • 文字列連結演算子 (C# の場合は +、Visual Basic の場合は & または +) を使用して、String インスタンスとリテラル文字列の任意の組み合わせから 1 つの文字列を作成する。 次の例では、文字列連結演算子の使用方法を示します。

    
    string string1 = "Today is " + DateTime.Now.ToString("D") + ".";
    Console.WriteLine(string1);
    
    string string2 = "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 クラスのメソッドを使用して、大きな文字列から部分文字列を抽出します。

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

    
    DateTime dateAndTime = new DateTime(2011, 7, 6, 7, 32, 0);
    double temperature = 68.3;
    string result = 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.      
    
    
    

Char オブジェクトと Unicode 文字

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

単一の Char オブジェクトは通常、単一のコード ポイントを表します。つまり、Char の数値はコード ポイントと等しくなります。 たとえば、文字 "a" のコード ポイントは U+0061 です。 しかし、1 つのコード ポイントに対して、複数のエンコード要素 (複数の Char オブジェクト) が必要になることがあります。 Unicode 標準は、複数の Char オブジェクトに対応する 3 種類の文字を定義します (書記素、Unicode の補助コード ポイント、および補助平面の文字)。

  • 書記素は、1 つの基本文字と、その後に続く 1 つ以上の組み合わせ文字で表されます。 たとえば、文字 ä は Char オブジェクト (コード ポイント U+0061) とその後の Char オブジェクト (コード ポイント U+0308) によって表されます。 コード ポイントが U+00E4 の 1 つの Char オブジェクトでこの文字を定義することもできます。 次の例に示すように、カルチャ依存の等価性の比較は 2 つの表現が同じであることを示しますが、普通の序数の比較は示しません。 ただし、2 つの文字列が正規化された場合、序数の比較においてもこれらが等しいことが示されます。(文字列の正規化の詳細については、標準化 セクションを参照します。

    
    using System;
    using System.Globalization;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\graphemes.txt");
          string grapheme = "\u0061\u0308";
          sw.WriteLine(grapheme);
    
          string singleChar = "\u00e4";
          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(); 
       }
    }
    // 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) メソッドに渡して、それがサロゲート ペアであるかどうかを判断します。

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          string surrogate = "\uD800\uDC03";
          for (int ctr = 0; ctr < surrogate.Length; ctr++) 
             Console.Write("U+{0:X2} ", Convert.ToUInt16(surrogate[ctr]));
    
          Console.WriteLine();
          Console.WriteLine("   Is Surrogate Pair: {0}", 
                            Char.IsSurrogatePair(surrogate[0], surrogate[1]));
       }
    }
    // The example displays the following output:
    //       U+D800 U+DC03
    //          Is Surrogate Pair: True
    
    
    

文字列と埋め込み null 文字

.NET Framework では、String オブジェクトに埋め込み null 文字を含めることができます。この場合、埋め込み null は文字列の長さに含まれます。 ただし、言語 (C や C++ など) によっては、null 文字は文字列の末尾を表し、文字列の一部とは見なされず、文字列長に含まれないものもあります。 これは、String オブジェクトに対しては、C プログラマおよび C++ プログラマ、または、C で書かれたライブラリまたは C++ で書かれたライブラリにおける、文字列に関する以下の一般的な前提が必ずしも当てはまらないことを意味します。

  • strlen 関数または wcslen 関数によって返される値は、String.Length と等しくない場合があります。

  • strcpy_s 関数または wcscpy_s 関数で作成された文字列は、String.Copy メソッドで作成された文字列と同一でない場合があります。

String オブジェクトをインスタンス化するネイティブの C コードおよび C++ コード、および、プラットフォーム呼び出しで String オブジェクトを渡されるコードで、埋め込み null 文字が文字列の末尾を示すという前提を避ける必要があります。

文字列内の埋め込まれた NULL 文字も、文字列を並べ替える (または比較する) ときと文字列を検索するときで処理が異なります。 Null 文字は、2 つの文字列間のカルチャに依存した比較 (インバリアント カルチャを使用する比較を含む) を実行する場合には無視されます。 これらは、序数または大文字と小文字を区別しない序数比較用のみであると見なされます。 一方、ContainsStartsWithIndexOf などのメソッドで文字列を検索するときは、埋め込まれた NULL 文字は常に考慮されます。

文字列とインデックス

インデックスとは、String 内での (Unicode 文字の位置ではなく) Char オブジェクトの位置を示すものです。 インデックスは、0 を基準とし、文字列の先頭位置から始まる 0 以上の番号です。文字列の先頭がインデックス位置 0 になります。 IndexOf LastIndexOf など、いくつかの検索方法では、文字列インスタンスの文字または部分文字列のインデックスが返されます。

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


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      for (int ctr = 0; ctr < s1.Length; ctr++) {
         if (Char.IsPunctuation(s1[ctr]) | Char.IsWhiteSpace(s1[ctr]))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


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


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      foreach (var ch in s1) {
         if (Char.IsPunctuation(ch) | Char.IsWhiteSpace(ch))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


Unicode 文字は複数の Char オブジェクトとしてエンコードされる場合があるため、連続したインデックス値が連続した Unicode 文字に対応するとは限りません。 特に、文字列は、一つ以上の組み合わせ文字またはサロゲート ペアに続く基本文字によって形成される複数のテキストの文字単位を使用する場合があります。 Char オブジェクトではなく Unicode 文字を対象に処理を行うには、System.Globalization.StringInfo クラスおよび TextElementEnumerator クラスを使用します。 次の例では、Char オブジェクトを使用して動作するコードと、Unicode 文字を使用して動作するコードの違いを示します。 文の各単語の文字数またはテキスト要素数を比較します。 文字列には基本文字の 2 つのシーケンスが含まれ、その後に結合文字が続いています。


using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // First sentence of The Mystery of the Yellow Room, by Leroux.
      string opening = "Ce n'est pas sans une certaine émotion que "+
                       "je commence à raconter ici les aventures " +
                       "extraordinaires de Joseph Rouletabille."; 
      // Character counters.
      int nChars = 0;
      // Objects to store word count.
      List<int> chars = new List<int>();
      List<int> elements = new List<int>();

      foreach (var ch in opening) {
         // Skip the ' character.
         if (ch == '\u0027') continue;

         if (Char.IsWhiteSpace(ch) | (Char.IsPunctuation(ch))) {
            chars.Add(nChars);
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      TextElementEnumerator te = StringInfo.GetTextElementEnumerator(opening);
      while (te.MoveNext()) {
         string s = te.GetTextElement();   
         // Skip the ' character.
         if (s == "\u0027") continue;
         if ( String.IsNullOrEmpty(s.Trim()) | (s.Length == 1 && Char.IsPunctuation(Convert.ToChar(s)))) {
            elements.Add(nChars);         
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      // Display character counts.
      Console.WriteLine("{0,6} {1,20} {2,20}",
                        "Word #", "Char Objects", "Characters"); 
      for (int ctr = 0; ctr < chars.Count; ctr++) 
         Console.WriteLine("{0,6} {1,20} {2,20}",
                           ctr, chars[ctr], elements[ctr]); 
   }
}
// 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 文字列と空の文字列

宣言されているが、値が割り当てられていない文字列は、null になります。 その文字列に対してメソッドを呼び出そうとすると、NullReferenceException がスローされます。 null 文字列は空の文字列と異なります。空の文字列は、値が "" または String.Empty の文字列です。 場合により、null 文字列または空の文字列をメソッド呼び出しの引数として渡すと例外がスローされます。 たとえば、null 文字列を Int32.Parse メソッドに渡すと ArgumentNullException がスローされ、空の文字列を渡すと FormatException がスローされます。 他のケースでは、メソッドの引数には、null 文字列または空の文字列を使用できます。 たとえば、クラスの IFormattable 実装を提供している場合、一般的な "(G") 書式指定子を使用して null 文字列と空の文字列を同一視することができます。

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

  • IsNullOrEmpty 。文字列が null であるか、String.Empty と等しいかを示します。 このメソッドにより、次のようなコードを使用する必要がなくなります。

    
    if (str == null || str.Equals(String.Empty))
    
    
    
  • IsNullOrWhiteSpace 。文字列が null であるか、String.Empty と等しいか、空白文字だけで構成されているかどうかを示します。 このメソッドにより、次のようなコードを使用する必要がなくなります。

    
    if (str == null || str.Equals(String.Empty) || str.Trim().Equals(String.Empty))
    
    
    

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


public string ToString(string format, IFormatProvider provider) 
{
   if (String.IsNullOrEmpty(format)) format = "G";  
   if (provider == null) provider = CultureInfo.CurrentCulture;

   switch (format.ToUpperInvariant())
   {
      // Return degrees in Celsius.    
      case "G":
      case "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();
      default:
         throw new FormatException(
               String.Format("The {0} format string is not supported.", 
                             format));
   }                                   
}


不変性と Stringbuilder クラス

String オブジェクトは、作成時点以降に値を変更できないことから、不変 (読み取り専用) と呼ばれます。 String オブジェクトを変更するように見えるメソッドは、実際には変更内容が反映された新しい String オブジェクトを返します。

文字列は変更不可なので、実行文字列操作ルーチンにある内容への追加一つの文字列を削除する重要なパフォーマンス低下を何度強要できます。 たとえば、次のコードでは、乱数ジェネレーターを使用して、0x0001 ~ 0x052F の範囲の 1,000 文字を使用して文字列を作成します。 このコードでは、文字列連結を使用して、新しい文字を str という名前の既存の文字列に追加するように見えますが、実際には、連結操作ごとに新しい String オブジェクトを作成します。


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();

      string str = String.Empty;
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                           false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         str += Convert.ToChar(rnd.Next(1, 0x0530)); 
         if (str.Length % 60 == 0)
            str += Environment.NewLine;          
      }                    
      sw.Write(str);
      sw.Close();
   }
}


複数の変更を文字列の値に変える操作では、String クラスの代わりに、StringBuilder クラスを使用できます。 String クラスのインスタンスとは異なり、StringBuilder オブジェクトは変更可能です。部分文字列の連結、追加、または文字列からの削除を行うとき、操作は 1 つの文字列に対して実行されます。 StringBuilder オブジェクトの値の変更が終了したら、その StringBuilder.ToString メソッドを呼び出して値を文字列に変換できます。 次の例では、0x0001 ~ 0x052F の範囲の 1,000 文字を連結するために先の例で使用された String を、StringBuilder オブジェクトに置き換えます。


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      StringBuilder sb = new StringBuilder();
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                                         false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         sb.Append(Convert.ToChar(rnd.Next(1, 0x0530))); 
         if (sb.Length % 60 == 0)
            sb.AppendLine();          
      }                    
      sw.Write(sb.ToString());
      sw.Close();
   }
}


序数とカルチャに依存したな操作

String クラスのメンバーは、String オブジェクトに対して序数的操作またはカルチャに依存した (言語的な) 操作を実行します。 序数的な操作は、各 Char オブジェクトの数値に基づいて動作します。 カルチャに依存する操作は、String オブジェクトの値に基づいて動作し、カルチャ固有の大文字と小文字、並べ替え、書式、解析などの規則を考慮します。 カルチャに依存した操作は、カルチャが明確に宣言された場合はそのカルチャ、特に指定されなかった場合は現在のカルチャのコンテキストで実行されます。 2 種類の操作を同じ文字列に実行したとき、非常に異なる結果が生成されることがあります。

セキュリティに関するメモセキュリティに関するメモ

アプリケーションにおいて、シンボル識別子 (ファイル名や名前付きパイプなど) や永続化されたデータ (XML ファイルのテキスト ベースのデータなど) に関するセキュリティ上の判断を行う場合は、カルチャに依存した比較ではなく序数に基づく比較を使用する必要があります。 序数に基づく比較では、比較する文字のバイナリ値に応じて結果が異なるだけですが、カルチャに依存した比較では、有効なカルチャによって結果が異なる可能性があるからです。

重要 : 重要

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

パッケージ化解析と書式比較と並べ替えること等価性のテスト の操作は、またはカルチャに依存したです。 次のセクションでは、操作の各カテゴリについて説明します。

s1wwdcbf.collapse_all(ja-jp,VS.110).gif大文字と小文字

大文字と小文字の規則は、小文字から大文字への変換など、Unicode 文字の大文字化を変換する方法を決定します。 多くの場合、大文字/小文字の操作は文字列比較の前に実行されます。 たとえば、文字列を大文字に変換して、別の大文字の文字列と比較できるようにします。 ToLower メソッドまたは ToLowerInvariant メソッドを呼び出すと、文字列内の文字を小文字に変換できます。ToUpper メソッドまたは ToUpperInvariant メソッドを呼び出すと、大文字に変換できます。 さらに、TextInfo.ToTitleCase メソッドを使用して、文字列をタイトル ケースに変換できます。

大文字と小文字の操作は、現在のカルチャ、指定されたカルチャ、またはインバリアント カルチャの規則に基づいて行うことができます。 大文字小文字のマップが使用されるカルチャによって異なる場合があるため、大文字と小文字の区別操作の結果がカルチャによって異なる場合があります。 大文字と小文字の区別の実際の違いは 3 種類です:

  • LATIN CAPITAL LETTER I (U+0049)、ラテン語の小文字 I (U+0069)、ドット上での LATIN CAPITAL LETTER i の大文字小文字のマップの比較 (U+0130)、ラテン語の小文字 DOTLESS I (U+0131)。 tr-TR (トルコ語 (トルコ)) と tr、az と az-Latn のニュートラル カルチャの az-Latn-AZ (アゼルバイジャン、ラテン文字) のカルチャは、LATIN CAPITAL LETTER I の小文字の等価のラテン語小文字 DOTLESS I であり、ラテン語の小文字 I の大文字の等価の上部にドットで LATIN CAPITAL LETTER 方法です。 他のすべてのカルチャでは、インバリアント カルチャを含む、ラテン語の小文字 I、LATIN CAPITAL LETTER I は大文字と小文字の等価です。

    カルチャに依存したな大文字と小文字の区別の比較に依存ファイル システム アクセスを禁止するように設計された文字列比較がどのように失敗する可能性があるかを次の例に示します。(インバリアント カルチャの大文字と小文字の表記規則を使用する必要があります)。

    
    using System;
    using System.Globalization;
    using System.Threading;
    
    public class Example
    {
       const string disallowed = "file";
    
       public static void Main()
       {
          IsAccessAllowed(@"FILE:\\\c:\users\user001\documents\FinancialInfo.txt");
       }
    
       private static void IsAccessAllowed(String resource)
       {
          CultureInfo[] cultures = { CultureInfo.CreateSpecificCulture("en-US"),
                                     CultureInfo.CreateSpecificCulture("tr-TR") };
          String scheme = null;
          int index = resource.IndexOfAny( new Char[] { '\\', '/' } );
          if (index > 0) 
             scheme = resource.Substring(0, index - 1);
    
          // Change the current culture and perform the comparison.
          foreach (var culture in cultures) {
             Thread.CurrentThread.CurrentCulture = culture;
             Console.WriteLine("Culture: {0}", CultureInfo.CurrentCulture.DisplayName);
             Console.WriteLine(resource);
             Console.WriteLine("Access allowed: {0}", 
                               ! String.Equals(disallowed, scheme, StringComparison.CurrentCultureIgnoreCase));      
             Console.WriteLine();
          }   
       }
    }
    // 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+00B5)

    大文字

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

    ドットで LATIN CAPITAL LETTER i の上 (U+0130)

    小文字

    ラテン語の小文字 I (U+0069)

    ラテン語の小文字 DOTLESS I (U+0131)

    大文字

    LATIN CAPITAL LETTER I (U+0049)

    ラテン語の小文字 LONG な S (U+017F)

    大文字

    LATIN CAPITAL LETTER S (U+0053)

    CARON (U+01C5) の小文字 Z で LATIN CAPITAL LETTER D

    小文字

    CARON (U+01C6) のラテン語の小文字 DZ

    結合されています YPOGEGRAMMENI () を U+0345

    大文字

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

  • 2 文字の混合ケースのマッピングは ASCII 文字の範囲で組み合わせれば相違点。 ほとんどのカルチャでは、2 文字の混合ケースのペアが digraph 文字 2 文字を大文字または小文字のペアと同じです。 これは、各ケースでは、digraph と比較されるため、次のカルチャの次の 2 文字のペアについても同じありません:

    • lJ」および「hr-HR (「nJ」クロアチア語 (クロアチア)) カルチャ。

    • cs-CZ 「Ch」 (チェコ語 (チェコ共和国) と sk-SK (スロベニア語 (スロバキア)) カルチャ。

    • da-DK の「aA」 (デンマーク (デンマーク)) カルチャ。

    • 「CS」、「dZ」、「dZS」、「nY」、「sZ」、「tY」、" hu-HU 「zS」 (ハンガリー語 (ハンガリー)) カルチャ。

    • 「Ch」および「lL es-ES_tradnl」 (スペイン語 (スペイン、従来の並べ替え)) カルチャ。

    • 「Ch」、「gi」、「kH」、「NG」nH」、「pH」、「qU、「th」、および「vi-VN の tR」 (ベトナム語 (ベトナム)) カルチャ。

    ただし、これらのペアが固定文字列または文字列の識別子で特殊なので、これらのペアのカルチャに依存した比較問題が発生するような状況が発生することは一般的ではありません。

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


using System;
using System.Globalization;
using System.IO;

public class Example
{
   public static void Main()
   {
      StreamWriter sw = new StreamWriter(@".\case.txt");   
      string[] words = { "file", "sıfır", "Dženana" };
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"),  
                                 new CultureInfo("tr-TR") };

      foreach (var word in words) {
         sw.WriteLine("{0}:", word);
         foreach (var culture in cultures) {
            string name = String.IsNullOrEmpty(culture.Name) ? 
                                 "Invariant" : culture.Name;
            string upperWord = word.ToUpper(culture);
            sw.WriteLine("   {0,10}: {1,7} {2, 38}", name, 
                         upperWord, ShowHexValue(upperWord));

         }
         sw.WriteLine();  
      }
      sw.Close();
   }

   private static string ShowHexValue(string s)
   {
      string retval = null;
      foreach (var ch in s) {
         byte[] bytes = BitConverter.GetBytes(ch);
         retval += String.Format("{0:X2} {1:X2} ", bytes[1], bytes[0]);     
      }
      return retval;
   } 
}
// 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 


s1wwdcbf.collapse_all(ja-jp,VS.110).gif解析と書式

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


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date = new DateTime(2011, 3, 1);
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };

      foreach (var culture in cultures)
         Console.WriteLine("{0,-12} {1}", String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.ToString("d", culture));                                    
   }
}
// The example displays the following output:
//       Invariant    03/01/2011
//       en-US        3/1/2011
//       fr-FR        01/03/2011


同様に、次の例に示すように、どのカルチャの規則が解析に使用されたかよって、1 つの文字列から異なる日付が生成される可能性があります。


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString = "07/10/2011";
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 CultureInfo.CreateSpecificCulture("en-GB"), 
                                 CultureInfo.CreateSpecificCulture("en-US") };
      Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}\n", "Date String", "Culture", 
                                                 "Month", "Day");
      foreach (var culture in cultures) {
         DateTime date = DateTime.Parse(dateString, culture);
         Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", dateString, 
                           String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.Month, date.Day);
      }                      
   }
}
// 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


s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列比較および並べ替えること

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

並べ替え規則は、Unicode 文字をアルファベット順に並べる方法と、2 つの文字列を相互に比較する方法を決定します。 たとえば、String.Compare(String, String, StringComparison) メソッドは、StringComparison パラメーターに基づいて 2 つの文字列を比較します。 パラメーター値が StringComparison.CurrentCulture の場合、このメソッドは、現在のカルチャの規則を使用した言語的な比較を実行します。パラメーター値が StringComparison.Ordinal の場合、このメソッドは、序数に基づく比較を実行します。 その結果、現在のカルチャが英語 (英語の場合、次の例に String.Compare(String, String, StringComparison) のメソッドに、最初の呼び出し (カルチャに依存した比較を使用) として「a」、「A」を示すわかりにくくなりますが、同じメソッドへのため (序数の比較を使用して) 「a」、「A」を大きな検討すると同時に。


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
      Console.WriteLine(String.Compare("A", "a", StringComparison.CurrentCulture));
      Console.WriteLine(String.Compare("A", "a", StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       1
//       -32


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

  • 単語での並べ替えでは、英数字以外の特定の Unicode 文字には特別な重みが割り当てられる、カルチャに依存した文字列の比較が行われます。 たとえば、ハイフン (-) に割り当てられる重みは非常に小さいため、並べ替えられたリスト内の "coop" と "co-op" の出現位置は隣接します。 Word 並べ替え規則を使用して 2 人の文字列を比較する String のメソッドの一覧については、カテゴリ別に文字列操作 "を参照してください。

  • 文字列での並べ替えでも、カルチャに依存した比較が実行されます。 これは単語の並べ替えに似ていますが、特別なケースは存在せず、英数字以外のすべての記号は、すべての英数字の Unicode 文字より前に来る点が異なります。 文字列並べ替え規則を使用して 2 つの文字列を比較できます。このためには、options パラメーターに CompareOptions.StringSort の値が指定された CompareInfo.Compare メソッド オーバーロードを呼び出します。 これは、文字列の並べ替え規則を使用して 2 つの文字列を比較するために .NET Framework で提供される唯一のメソッドです。

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

カルチャに依存した比較とは、CultureInfo.InvariantCulture プロパティによって指定されるインバリアント カルチャを含む、CultureInfo オブジェクトを明示的または暗黙的に使用する比較です。 暗黙のカルチャは現在のカルチャです。これは、Thread.CurrentCulture および CultureInfo.CurrentCulture プロパティによって指定されます。 (つまり、文字 Char.IsLetter のプロパティが trueを返す) の並べ替え順序に大量のバリエーションがカルチャに数値です。 Compare(String, String, CultureInfo, CompareOptions) などの文字列比較のメソッドへの CultureInfo オブジェクトを指定して、特定のカルチャの規則を使用する、カルチャに依存した比較を指定できます。 Compare のメソッドの適切なオーバーロードを使用 CompareOptions の列挙体の StringComparison.CurrentCultureStringComparison.CurrentCultureIgnoreCase、または CompareOptions.Ordinal または CompareOptions.OrdinalIgnoreCase 以外のメンバーを指定することによって、現在のカルチャの規則を使用する、カルチャに依存した比較を指定できます。 カルチャに依存した比較は、序数に基づく比較がない、並べ替えることに適しています。 序数に基づく比較とカルチャに依存した比較はありません。2 番目の文字列が等しいかどうかを判断するには、適切に (つまり、ID を確認する)。

次の例ではカルチャに依存したに序数の比較の違いを示しています。 例 3 は、二つの文字列を評価します「Apple」、「Æble」、および" (それぞれがその時点で Compare のメソッドが呼び出される既定のカルチャである da-DK および en-US カルチャ)、序数の比較規則を使用して AEble」、「。 デンマーク語の言語が個々の文字として文字「Æ」を取り上げ、アルファベット順では「Z」の後に並べ替えるため、文字列「Æble "は" Apple」より大きい「です。 ただし、「Æble」は「AEble」と等価と見なされません。そのため、「Æble AEble」は「よりも大きくなります。en-US カルチャに AEble 「Æble」は」Apple」に、等号「、「未満である理由を説明する等価「AE」という文字が使用例が、送られます。 序数に基づく比較は、「Apple」Æble」検討し、「Æble」ttto 未満である「が AEble」大きくに注意してください。


using System;
using System.Globalization;
using System.Threading;

public class CompareStringSample
{
   public static void Main()
   {
      string str1 = "Apple";
      string str2 = "Æble"; 
      string str3 = "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}\n", 
                        str2, str3, String.Compare(str2, str3));

      // 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}\n", 
                        str2, str3, String.Compare(str2, str3));

      // 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));
   }
}
// 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


適切な並べ替えるか、文字列比較のメソッドを選択するには、次の一般的なガイドラインを使用する:

  • 必要に応じて順序なしの文字列は、現在のカルチャの規則にユーザーのカルチャ設定に基づいて並べ替えるように基づいています。 ユーザーのカルチャが変更された場合は、並べ替えられた文字列の順序は、それに応じて変わります。 たとえば、類義語辞典アプリケーションは、ユーザーのカルチャに基づいて Word を常に並べ替える必要があります。

  • 必要に応じて順序なしの文字列は、特定のカルチャ、規則に比較メソッドにそのカルチャを表す CultureInfo オブジェクトを指定して、それらを並べ替えるように基づいています。 たとえば、アプリケーションに命令するは文字列に基づいて、その言語を話すカルチャの 1 種類の規則に学生に特定の言語、教えるようにデザインされています。

  • 文字列の順序にカルチャで同じになるようにインバリアント カルチャの規則に基づいている場合、または使用して序数に基づく比較とそれを使用する必要があります。 たとえば、ファイル、プロセス、ミューテックスは、名前付きパイプを編成するために序数での並べ替えを使用します。

  • セキュリティに関する決定が含まれている比較のユーザー名が有効であるかどうか (など)、Equals のメソッドのオーバーロードを呼び出して、同等の順序テストを常に実行する必要があります。

メモメモ

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

単語、文字列、序数での並べ替え規則の詳細については、「System.Globalization.CompareOptions」を参照してください。 各規則をいつのそのほかの推奨事項に使用するか .NET Framework で文字列を使用するためのベスト プラクティスを参照してください。

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


using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] strings = { "coop", "co-op", "cooperative", 
                           "co\u00ADoperative", "cœur", "coeur" };

      // Perform a word sort using the current (en-US) culture.
      string[] current = new string[strings.Length]; 
      strings.CopyTo(current, 0); 
      Array.Sort(current, StringComparer.CurrentCulture);

      // Perform a word sort using the invariant culture.
      string[] invariant = new string[strings.Length];
      strings.CopyTo(invariant, 0); 
      Array.Sort(invariant, StringComparer.InvariantCulture);

      // Perform an ordinal sort.
      string[] ordinal = new string[strings.Length];
      strings.CopyTo(ordinal, 0); 
      Array.Sort(ordinal, StringComparer.Ordinal);

      // Perform a string sort using the current culture.
      string[] stringSort = new string[strings.Length];
      strings.CopyTo(stringSort, 0); 
      Array.Sort(stringSort, new SCompare());

      // Display array values
      Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}\n", 
                        "Original", "Word Sort", "Invariant Word", 
                        "Ordinal Sort", "String Sort");
      for (int ctr = 0; ctr < strings.Length; ctr++)
         Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                           strings[ctr], current[ctr], invariant[ctr], 
                           ordinal[ctr], stringSort[ctr] );          
   }
}

// IComparer<String> implementation to perform string sort.
internal class SCompare : IComparer<String>
{
   public int Compare(string x, string y)
   {
      return CultureInfo.CurrentCulture.CompareInfo.Compare(x, y, CompareOptions.StringSort);
   }
}
// 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


ヒントヒント

内部的には、.NET Framework がカルチャに依存する文字列比較をサポートするには、並べ替えキーを使用します。 文字列内の各文字には、アルファベット順、大文字と小文字の区別、発音の区別など、さまざまなカテゴリの並べ替えウェイトが指定されます。 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 の並べ替え順序と異なる点に注意してください。これは、デンマーク語 (デンマーク) の並べ替え規則が使用されるためです。


using System;
using System.Globalization;
using System.Threading;

public class ArraySort 
{
   public static void Main(String[] args) 
   {
      // Create and initialize a new array to store the strings.
      string[] stringArray = { "Apple", "Æble", "Zebra"};

      // Display 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 culture \"en-US\":");
      PrintIndexAndValues(stringArray); 

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

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"da-DK\":");
      PrintIndexAndValues(stringArray); 
   }
   public static void PrintIndexAndValues(string[] myArray)  
   {
      for (int i = myArray.GetLowerBound(0); i <= 
            myArray.GetUpperBound(0); i++ )
         Console.WriteLine("[{0}]: {1}", i, myArray[i]);
      Console.WriteLine();      
   }
}
// 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


Caution メモ注意

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

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


using System;

public class Example
{
   public static void Main()
   {
      // Search for "oe" and "œu" in "œufs" and "oeufs".
      string s1 = "œufs";
      string s2 = "oeufs";
      FindInString(s1, "oe", StringComparison.CurrentCulture);
      FindInString(s1, "oe", StringComparison.Ordinal);
      FindInString(s2, "œu", StringComparison.CurrentCulture);
      FindInString(s2, "œu", StringComparison.Ordinal);
      Console.WriteLine();

      string s3 = "co\u00ADoperative";
      FindInString(s3, "\u00AD", StringComparison.CurrentCulture);
      FindInString(s3, "\u00AD", StringComparison.Ordinal);
   }

   private static void FindInString(string s, string substring, StringComparison options)
   {
      int result = 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);                                                  
   }
}
// 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


s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列の検索

文字列検索のメソッドは、String.StartsWithString.IndexOfなど)、文字または部分文字列が指定された文字列であるかどうかを判断カルチャに依存したな順序の文字列比較を実行できます。

検索のメソッドは、複数の文字列の 1 文字を検索するか、文字列内の部分文字列を検索することができます。 個々の文字 (IndexOf のメソッドなどの検索したり、文字セットの 1 つが、IndexOfAny のメソッドなど、すべて序数検索を実行 String の検索メソッドを使用します。 文字のカルチャに依存したな検索を実行するには、CompareInfo.IndexOf(String, Char) または CompareInfo.LastIndexOf(String, Char)などの CompareInfo メソッドを呼び出す必要があります。 序数とカルチャに依存した比較を使用して文字を検索結果が大幅に異なることに注意してください。 たとえば、合字「Æ」など、つまり Unicode 文字の検索はカルチャによって (U+00C6) 「AE」などの適切な順序でコンポーネントの発生を U+041U+0045 (、)、一致する場合があります。 次の例では、別の文字を検索するとき CompareInfo.IndexOf(String, Char)String.IndexOf(Char) とメソッドの違いを示しています。 da-DK カルチャまたは序数の比較規則を実行するときに使用する場合、en-US カルチャの規則を使用すると、合字「æ」では、文字列「アンテナ」 (U+00E6) です。


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "da-DK", "en-US" };
      CompareInfo ci;
      String str = "aerial";
      Char ch = 'æ';  // U+00E6

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

      foreach (var 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));
      }
   }
}
// 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です。

s1wwdcbf.collapse_all(ja-jp,VS.110).gif等価性のテスト

String.Compare メソッドを使用して、並べ替え順序で 2 つの文字列の関係を決定します。 通常、これはカルチャに依存した操作です。 一方、等価性をテストするには、String.Equals メソッドを呼び出します。 一般に、等価テストは通常、ユーザー入力と既知の文字列 (有効なユーザー名、パスワード、ファイル システムのパスなど) を比較するため、序数的な操作です。

Caution メモ注意

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

次の例では、序数による比較を使用して等値を確認するのが望ましい場合に、カルチャ依存の比較を実行することの危険性を示します。 この場合のコードの意図は、URL の先頭部分を "FILE://" と (大文字と小文字を区別せずに) 比較して、"FILE://" または "file://" で始まる URL からのファイル システムへのアクセスを禁止することです。 ただし、"file://" で始まる URL でトルコ語 (トルコ) カルチャを使用してカルチャ依存の比較を実行した場合、等値の比較は失敗します。これは、小文字の "i" に対応するトルコ後の大文字が "I" ではなく "İ" であるためです。 その結果、ファイル システムへのアクセスが誤って許可されます。 一方、序数に基づく比較が実行された場合、等価性の比較は成功し、ファイル システムへのアクセスは拒否されます。


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("tr-TR");      

      string filePath = "file://c:/notes.txt";

      Console.WriteLine("Culture-sensitive test for equality:");
      if (! TestForEquality(filePath, StringComparison.CurrentCultureIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);

      Console.WriteLine("\nOrdinal test for equality:");
      if (! TestForEquality(filePath, StringComparison.OrdinalIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);
   }

   private static bool TestForEquality(string str, StringComparison cmp)
   {
      int position = str.IndexOf("://");
      if (position < 0) return false;

      string substring = str.Substring(0, position);  
      return substring.Equals("FILE", cmp);
   }
}
// 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+1EAF

  • U+0103 U+0301

  • U+0061 U+0306 U+0301

1 つの文字を複数の形式で表現すると、文字の検索、並べ替え、照合などの文字列操作が複雑になります。

Unicode 規格では、ある Unicode 文字に対応するいずれかのバイナリ表現を渡すと、特定の 1 つのバイナリ表現にして返す、正規化と呼ばれる処理が定義されています。 正規化では、それぞれ異なる規則に基づく複数のアルゴリズムを使用できます。これらは正規化形式と呼ばれます。 .NET Framework では、C、D、KC、および KD という Unicode 正規化形式がサポートされています。 複数の文字列が同じ正規化形式に正規化された場合、これらの文字列は序数の比較を使用して比較できます。

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

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

次の例では、文字列の正規化を示しています。 この例では、文字 "Ố" を 3 つの異なる方法で 3 つの異なる文字列に定義し、序数に基づく比較を行って等価性を調べ、各文字列が他の 2 つの文字列と異なることを確認します。 次に、各文字列をサポートされている正規化形式に変換し、再度、指定された正規形式で各文字列の序数に基づく比較を実行します。 それぞれのケースで、2 番目の等価テストは、文字列が同じであることを示しています。


using System;
using System.Globalization;
using System.IO;
using System.Text;

public class Example
{
   private static StreamWriter sw;

   public static void Main()
   {
      sw = new StreamWriter(@".\TestNorm1.txt");

      // Define three versions of the same word. 
      string s1 = "sống";        // create word with U+1ED1
      string s2 = "s\u00F4\u0301ng";
      string s3 = "so\u0302\u0301ng";

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

      // Normalize and compare strings using each normalization form.
      foreach (string formName in Enum.GetNames(typeof(NormalizationForm)))
      {
         sw.WriteLine("Normalization {0}:\n", formName); 
         NormalizationForm nf = (NormalizationForm) Enum.Parse(typeof(NormalizationForm), formName);
         string[] sn = NormalizeStrings(nf, s1, s2, s3);
         TestForEquality(sn);           
         sw.WriteLine("\n");                                        
      }

      sw.Close();   
   }

   private static void TestForEquality(params string[] words)
   {
      for (int ctr = 0; ctr <= words.Length - 2; ctr++)
         for (int ctr2 = ctr + 1; ctr2 <= words.Length - 1; ctr2++) 
            sw.WriteLine("{0} ({1}) = {2} ({3}): {4}", 
                         words[ctr], ShowBytes(words[ctr]),
                         words[ctr2], ShowBytes(words[ctr2]),
                         words[ctr].Equals(words[ctr2], StringComparison.Ordinal));
   }

   private static string ShowBytes(string str)
   {
      string result = null;
      foreach (var ch in str)
         result += String.Format("{0} ", Convert.ToUInt16(ch).ToString("X4")); 
      return result.Trim();            
   } 

   private static string[] NormalizeStrings(NormalizationForm nf, params string[] words)
   {
      for (int ctr = 0; ctr < words.Length; ctr++)
         if (! words[ctr].IsNormalized(nf))
            words[ctr] = words[ctr].Normalize(nf); 
      return words;   
   }
}
// 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


Normalization and 正規化形式の詳細については、System.Text.NormalizationForm、および Unicode Standard Annex #15: Unicode 正規化形式 unicode.org Web サイトを 正規化のよく寄せられる質問 参照します。

カテゴリ別に文字列操作

String クラスには、文字列の比較、文字列の等価性のテスト、文字列内の文字や部分文字列の検索、文字列の変更、文字列からの部分文字列の抽出、文字列の組み合わせ、値の書式設定、文字列のコピー、および文字列の正規化のためメンバーが用意されています。

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列の比較

次の String メソッドを使用すると、文字列を比較して、並べ替え順序内での相対位置を決定できます。

  • Compare は、並べ替え順序における 1 つの文字列から 2 番目の文字列への関係を示す整数を返します。

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

  • CompareTo は、並べ替え順序における現在の文字列インスタンスから 2 番目の文字列への関係を示す整数を返します。 CompareTo(String) メソッドは、String クラス用に IComparable および IComparable<T> 実装を提供します。

s1wwdcbf.collapse_all(ja-jp,VS.110).gif等価性のテストの文字列

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

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列の文字を検索できます。

String クラスには、次の 2 種類の検索メソッドが含まれています。

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

  • 文字列インスタンス内の部分文字列の開始位置を示すメソッド。 たとえば、IndexOfIndexOfAnyLastIndexOfLastIndexOfAny の各メソッドなどです。

Caution メモ注意

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

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列の変更

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

  • Insert は、現在の String インスタンスに文字列を挿入します。

  • PadLeft は、出現する 1 つ以上の指定文字を文字列の先頭に挿入します。

  • PadRight は、出現する 1 つ以上の指定文字を文字列の先頭に挿入します。

  • Remove は、現在の String インスタンスから部分文字列を削除します。

  • Replace は、現在の String インスタンス内の部分文字列を別の部分文字列で置き換えます。

  • ToLower および ToLowerInvariant は、文字列内のすべての文字を小文字に変換します。

  • ToUpper および ToUpperInvariant は、文字列内のすべての文字を大文字に変換します。

  • Trim は、文字列の先頭と末尾に出現するすべての文字を削除します。

  • TrimEnd は、文字列の末尾に出現するすべての文字を削除します。

  • TrimStart は、文字列の先頭に出現するすべての文字を削除します。

重要 : 重要

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

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列から部分文字列を抽出します。

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

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列の結合

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

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

  • Join は、1 つまたは複数の部分文字列を 1 つの要素に連結し、それぞれの部分文字列の間に区切り文字を追加します。

s1wwdcbf.collapse_all(ja-jp,VS.110).gif書式設定値

String.Format メソッドは、複合書式指定機能を使用して、文字列内の 1 つ以上のプレースホルダーを、なんらかのオブジェクトまたは値の文字列表現に置き換えます。 Format メソッドはよく、以下の目的に使用されます。

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

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

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

  • IFormattable インターフェイスをサポートしているオブジェクトの文字列表現を文字列に埋め込む。

  • 大きな文字列においてフィールド内の部分文字列を右揃えまたは左揃えします。

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

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列のコピー

String メソッドを呼び出して、文字列のコピーを作成することもできます。

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

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

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

s1wwdcbf.collapse_all(ja-jp,VS.110).gif文字列を正規化します。

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

.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

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

コミュニティの追加

追加
表示:
© 2014 Microsoft