このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Dictionary<TKey, TValue> クラス

2013/12/12

キーと値のコレクションを表します。

System.Object
  System.Collections.Generic.Dictionary<TKey, TValue>

Namespace:  System.Collections.Generic
アセンブリ:  mscorlib (mscorlib.dll 内)

public class Dictionary<TKey, TValue> : IDictionary<TKey, TValue>, 
	ICollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue>, 
	IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, 
	IDictionary, ICollection, IEnumerable

型パラメーター

TKey

ディクショナリ内のキーの型。

TValue

ディクショナリ内の値の型。

Dictionary<TKey, TValue> 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドDictionary<TKey, TValue>()空で、既定の初期量を備え、キーの型の既定の等値比較子を使用する、Dictionary<TKey, TValue> クラスの新しいインスタンスを初期化します。
パブリック メソッドDictionary<TKey, TValue>(IDictionary<TKey, TValue>)指定した IDictionary<TKey, TValue> から要素をコピーして格納し、キーの型の既定の等値比較子を使用する、Dictionary<TKey, TValue> クラスの新しいインスタンスを初期化します。
パブリック メソッドDictionary<TKey, TValue>(IEqualityComparer<TKey>)空で、既定の初期量を備え、指定した IEqualityComparer<T> を使用する、Dictionary<TKey, TValue> クラスの新しいインスタンスを初期化します。
パブリック メソッドDictionary<TKey, TValue>(Int32)空で、指定した初期量を備え、キーの型の既定の等値比較子を使用する、Dictionary<TKey, TValue> クラスの新しいインスタンスを初期化します。
パブリック メソッドDictionary<TKey, TValue>(IDictionary<TKey, TValue>, IEqualityComparer<TKey>)指定した IDictionary<TKey, TValue> から要素をコピーして格納し、指定した IEqualityComparer<T> を使用する、Dictionary<TKey, TValue> クラスの新しいインスタンスを初期化します。
パブリック メソッドDictionary<TKey, TValue>(Int32, IEqualityComparer<TKey>)空で、指定した初期量を備え、指定した IEqualityComparer<T> を使用する、Dictionary<TKey, TValue> クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティComparerディクショナリのキーが等しいかどうかを確認するために使用する IEqualityComparer<T> を取得します。
パブリック プロパティCountDictionary<TKey, TValue> に格納されているキー/値ペアの数を取得します。
パブリック プロパティItem指定したキーに関連付けられている値を取得または設定します。
パブリック プロパティKeysDictionary<TKey, TValue> 内のキーを格納しているコレクションを取得します。
パブリック プロパティValuesDictionary<TKey, TValue> 内の値を格納しているコレクションを取得します。
このページのトップへ

  名前説明
パブリック メソッドAdd指定したキーと値をディクショナリに追加します。
パブリック メソッドClearDictionary<TKey, TValue> からすべてのキーと値を削除します。
パブリック メソッドContainsKey指定したキーが Dictionary<TKey, TValue> に格納されているかどうかを判断します。
パブリック メソッドContainsValueDictionary<TKey, TValue> に特定の値が格納されているかどうかを判断します。
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetEnumeratorDictionary<TKey, TValue> を反復処理する列挙子を返します。
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドRemove指定したキーを持つ値を Dictionary<TKey, TValue> から削除します。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドTryGetValue指定したキーに関連付けられている値を取得します。
このページのトップへ

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

  名前説明
明示的なインターフェイスの実装プライベート メソッドICollection<KeyValuePair<TKey, TValue>>.Add指定した値を、指定したキーと共に ICollection<T> に追加します。
明示的なインターフェイスの実装プライベート メソッドICollection<KeyValuePair<TKey, TValue>>.ContainsICollection<T> に特定のキーと値が格納されているかどうかを判断します。
明示的なインターフェイスの実装プライベート メソッドICollection<KeyValuePair<TKey, TValue>>.CopyTo指定した配列インデックスを開始位置として、KeyValuePair<TKey, TValue> 型の配列に ICollection<T> の要素をコピーします。
明示的なインターフェイスの実装プライベート メソッドICollection.CopyTo指定した配列インデックスを開始位置として、配列に ICollection<T> の要素をコピーします。
明示的なインターフェイスの実装プライベート プロパティICollection<KeyValuePair<TKey, TValue>>.IsReadOnlyディクショナリが読み取り専用かどうかを示す値を取得します。
明示的なインターフェイスの実装プライベート プロパティICollection.IsSynchronizedICollection へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。
明示的なインターフェイスの実装プライベート メソッドICollection<KeyValuePair<TKey, TValue>>.Removeディクショナリからキーと値を削除します。
明示的なインターフェイスの実装プライベート プロパティICollection.SyncRootICollection へのアクセスを同期するために使用できるオブジェクトを取得します。
明示的なインターフェイスの実装プライベート メソッドIDictionary.Add指定したキーと値をディクショナリに追加します。
明示的なインターフェイスの実装プライベート メソッドIDictionary.Contains指定したキーを持つ要素が IDictionary に含まれているかどうかを判断します。
明示的なインターフェイスの実装プライベート メソッドIDictionary.GetEnumeratorIDictionaryIDictionaryEnumerator を返します。
明示的なインターフェイスの実装プライベート プロパティIDictionary.IsFixedSizeIDictionary が固定サイズかどうかを示す値を取得します。
明示的なインターフェイスの実装プライベート プロパティIDictionary.IsReadOnlyIDictionary が読み取り専用かどうかを示す値を取得します。
明示的なインターフェイスの実装プライベート プロパティIDictionary.Item指定したキーの値を取得または設定します。
明示的なインターフェイスの実装プライベート プロパティIDictionary<TKey, TValue>.KeysIDictionary<TKey, TValue> のキーを格納している ICollection<T> を取得します。
明示的なインターフェイスの実装プライベート プロパティIDictionary.KeysIDictionary のキーを格納している ICollection を取得します。
明示的なインターフェイスの実装プライベート メソッドIDictionary.Remove指定したキーを持つ要素を IDictionary から削除します。
明示的なインターフェイスの実装プライベート プロパティIDictionary<TKey, TValue>.ValuesIDictionary<TKey, TValue> 内の値を格納している ICollection<T> を取得します。
明示的なインターフェイスの実装プライベート プロパティIDictionary.ValuesIDictionary 内の値を格納している ICollection を取得します。
明示的なインターフェイスの実装プライベート メソッドIEnumerable<KeyValuePair<TKey, TValue>>.GetEnumeratorコレクションを反復処理する列挙子を返します。
明示的なインターフェイスの実装プライベート メソッドIEnumerable.GetEnumeratorコレクションを反復処理する列挙子を返します。
明示的なインターフェイスの実装プライベート プロパティIReadOnlyDictionary<TKey, TValue>.KeysIReadOnlyDictionary<TKey, TValue> 内のキーを格納しているコレクションを取得します。
明示的なインターフェイスの実装プライベート プロパティIReadOnlyDictionary<TKey, TValue>.ValuesIReadOnlyDictionary<TKey, TValue> 内の値を格納しているコレクションを取得します。
このページのトップへ

Dictionary<TKey, TValue> ジェネリック クラスにより、キーのセットを値のセットに対応付けることができます。ディクショナリに追加される各エントリは、値とその値に関連付けられたキーで構成されます。Dictionary<TKey, TValue> クラスはハッシュ テーブルとして実装されているため、キーを使用した値の取得は非常に高速で、O(1) に近くなります。

メモメモ:

取得速度は、TKey に指定されている型のハッシュ アルゴリズムの品質によって異なります。

オブジェクトが Dictionary<TKey, TValue> のキーとして使用されている場合、そのオブジェクトに対してハッシュ値に影響するような変更を行わないでください。Dictionary<TKey, TValue> 内のすべてのキーは、ディクショナリの等値比較子に従って、一意である必要があります。値の型 TValue が参照型である場合、キーを null にすることはできませんが、値を null にすることはできます。

Dictionary<TKey, TValue> は、キーが同じであるかどうかを確認するための等値比較の実装を必要とします。comparer パラメーターを受け付けるコンストラクターを使用して、IEqualityComparer<T> ジェネリック インターフェイスの実装を指定できます。実装を指定しない場合は、既定のジェネリック等値比較子である EqualityComparer<T>.Default が使用されます。型 TKeySystem.IEquatable<T> ジェネリック インターフェイスを実装している場合は、既定の等値比較子でその実装が使用されます。

メモメモ:

たとえば、StringComparer クラスによって提供される大文字と小文字を区別しない文字列比較子を使用して、大文字と小文字を区別しない文字列キーを持つディクショナリを作成できます。

Dictionary<TKey, TValue> の容量は、Dictionary<TKey, TValue> が保持できる要素数になります。Dictionary<TKey, TValue> に要素を追加すると、必要に応じて、内部の配列の再割り当てによって容量が自動的に増加します。

列挙処理のために、ディクショナリ内の各アイテムは、値とそのキーを表す KeyValuePair<TKey, TValue> 構造体として処理されます。アイテムが返される順序は未定義です。

C# 言語の foreach ステートメント (C++ の場合は for each、Visual Basic の場合は For Each) は、コレクション内の各要素の型を必要とします。Dictionary<TKey, TValue> はキーと値のコレクションであるため、要素の型は、キーの型や値の型にはなりません。代わりに、要素の型は、キーの型および値の型の KeyValuePair<TKey, TValue> になります。次に例を示します。

foreach (KeyValuePair<int, string> kvp in myDictionary) {...}

foreach ステートメントは、列挙子のラッパーです。これは、コレクションからの読み取りだけを許可し、コレクションへの書き込みはできません。

メモメモ:

キーは継承でき、動作は変更できるため、Equals メソッドを使用する比較では、絶対的な一意性は保証できません。

バージョンについてのメモ

Windows Phone

TKey パラメーターが列挙値である Dictionary からクラスを派生させると、例外がスローされます。

このクラスの例は 2 つあります。最初の例では、Dictionary<TKey, TValue> オブジェクトを使用して、劇 "オセロ" の出演者情報を格納します。登場人物の名前がディクショナリのキーになり、役者の名前がディクショナリの値になります。このディクショナリ (OthelloDict) は、List<T> クラスから派生するクラス (OthelloCast) に格納されます。OthelloCast オブジェクトのコンストラクターによって、リストに OthelloDict ディクショナリのキーが追加されます。OthelloCast オブジェクトは ListBox コントロールにバインドされます。この例のバインディングは一方向です。他のバインディング オプションとシナリオについては、「Windows Phone のデータ バインディング」を参照してください。

OthelloCast クラスのコード例を次に示します。このクラスをプロジェクトの Page 部分クラスに追加します。


// Make sure this class is
// within the C# namespace.
public class OthelloCast : List<string>
{
    // Use a dictionary to contain
    // cast names (key) and actor names (value).
    public Dictionary<string, string> OthelloDict =
        new Dictionary<string, string>();

    public OthelloCast()
    {
        // Add data to the dictionary.
        OthelloDict.Add("Bianca", "Gretchen Rivas");
        OthelloDict.Add("Brabantio", "Carlos Lacerda");
        OthelloDict.Add("Cassio", "Steve Masters");
        OthelloDict.Add("Clown", "Michael Ludwig");
        OthelloDict.Add("Desdemona", "Catherine Autier Miconi");
        OthelloDict.Add("Duke of Venice", "Ken Circeo");
        OthelloDict.Add("Emilia", "Eva Valverde");
        OthelloDict.Add("Gratiano", "Akos Kozari");
        OthelloDict.Add("Iago", "Darius Stasevicius");
        OthelloDict.Add("Lodovico", "Fernando Souza");
        OthelloDict.Add("Montano", "Jeff Hay");
        OthelloDict.Add("Othello", "Marco Tanara");
        OthelloDict.Add("Roderigo", "Pedro Ruivo");

        // Populate the list with character names.
        foreach (KeyValuePair<string, string> kvp in OthelloDict)
        {
            this.Add(kvp.Key);
        }
    }
}


ListBox コントロールで登場人物を選択すると、その登場人物を演じる役者が TextBlock コントロールに表示されます。ListBox コントロールの SelectionChanged イベントのイベント ハンドラーでこの処理を行う方法を次のコード例に示します。このハンドラーを Page 部分クラスに加します。このコード例をコンパイルして実行する方法の詳細については、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


private void ListCharacters_SelectionChanged(object sender,
    SelectionChangedEventArgs e)
{
    // Create an instance of OthelloCast to
    // look up an actor by their character.
    OthelloCast othello = new OthelloCast();

    // Get the selected character name (key).
    string key = ListCharacters.SelectedItem.ToString();

    // Get the key's value (actor name) and display it.
    ShowActor.Text = othello.OthelloDict[key].ToString();
}


次の XAML 参照と要素を使用して、データ バインディングを実行します。

  • xmlns:my="clr-namespace:CastMembers"

    これは t 共通言語ランタイム (CLR) 名前空間への参照で、アセンブリ内で自動的に宣言され、そのパブリック型を公開します。CsatMembers の部分は、アセンブリの名前 (プロジェクト名) に置き換えます。

  • <my:OthelloCast x:Name="Characters"/>

    これは <Grid.Resources> 要素で指定されるリソース ディクショナリの参照です。これで、バインドするオブジェクト (OthelloCast) と、このリソースを使用する ListBox コントロールなどのコントロールで指定されるその名前 (Characters) を指定します。

  • <ListBox Margin ="5,5,5,5" SelectionChanged="ListCharacters_SelectionChanged" Grid.Row="1" Grid.Column="0" x:Name="ListCharacters" ItemsSource="{Binding Source={StaticResource Characters}}"/>

    この要素では、ItemsSource プロパティにバインド オブジェクトを設定して、ListBox コントロールを定義します。これには、SelectionChanged イベントに対して定義されたイベント ハンドラーが含まれています。

完全な XAML を次に示します。このコード例をコンパイルして実行する方法の詳細については、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


 <UserControl x:Class="CastMembers.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:my="clr-namespace:CastMembers"
    Width="400" Height="400">
    <Grid x:Name="LayoutRoot" Background="White" ShowGridLines="False">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="Auto"/>
            <ColumnDefinition Width="Auto"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>
        <Grid.Resources>
            <my:OthelloCast x:Name="Characters"/>
        </Grid.Resources>
        <TextBlock Margin ="5,5,5,5" Grid.Row="0" Grid.Column="0" Text="Othello Cast:" FontWeight="Bold" />
        <ListBox Margin ="5,5,5,5" SelectionChanged="ListCharacters_SelectionChanged" Grid.Row="1" Grid.Column="0" x:Name="ListCharacters"  ItemsSource="{Binding Source={StaticResource Characters}}"/>
        <TextBlock Margin ="5,5,5,5" Grid.Row="0" Grid.Column="1" Text="Actor:" FontWeight="Bold" />
        <TextBlock Margin ="5,5,5,5" Grid.Row="1" Grid.Column="1" x:Name="ShowActor" Text=""/> 
    </Grid>
</UserControl>


次の例では、文字列キーを含む文字列の空の Dictionary<TKey, TValue> を作成し、Add メソッドを使用していくつかの要素を追加します。この例では、重複するキーを追加しようとすると、Add メソッドが ArgumentException をスローすることを示します。

この例では、Item プロパティ (C# ではインデクサー) を使用して値を取得し、要求されたキーが存在しないときに KeyNotFoundException がスローされる例を示し、またキーに関連付けられた値を置き換えることができることも示します。

この例では、プログラムがディクショナリにないキー値を頻繁に試行する必要がある場合に、より効率的に値を取得する方法として TryGetValue メソッドを使用する方法、および ContainsKey メソッドを使用して、Add メソッドを呼び出す前に、キーが存在するかどうかをテストする方法を示します。

この例では、ディクショナリのキーと値を列挙する方法、および Keys プロパティと Values プロパティを使用してキーと値のみを列挙する方法を示します。

最後に、Remove メソッドの使用例を示します。

メモメモ:

この例を実行するには、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


using System;
using System.Collections.Generic;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Create a new dictionary of strings, with string keys.
      //
      Dictionary<string, string> openWith =
          new Dictionary<string, string>();

      // Add some elements to the dictionary. There are no 
      // duplicate keys, but some of the values are duplicates.
      openWith.Add("txt", "notepad.exe");
      openWith.Add("bmp", "paint.exe");
      openWith.Add("dib", "paint.exe");
      openWith.Add("rtf", "wordpad.exe");

      // The Add method throws an exception if the new key is 
      // already in the dictionary.
      try
      {
         openWith.Add("txt", "winword.exe");
      }
      catch (ArgumentException)
      {
         outputBlock.Text += "An element with Key = \"txt\" already exists." + "\n";
      }

      // The Item property is another name for the indexer, so you 
      // can omit its name when accessing elements. 
      outputBlock.Text += String.Format("For key = \"rtf\", value = {0}.",
          openWith["rtf"]) + "\n";

      // The indexer can be used to change the value associated
      // with a key.
      openWith["rtf"] = "winword.exe";
      outputBlock.Text += String.Format("For key = \"rtf\", value = {0}.",
          openWith["rtf"]) + "\n";

      // If a key does not exist, setting the indexer for that key
      // adds a new key/value pair.
      openWith["doc"] = "winword.exe";

      // The indexer throws an exception if the requested key is
      // not in the dictionary.
      try
      {
         outputBlock.Text += String.Format("For key = \"tif\", value = {0}.",
             openWith["tif"]) + "\n";
      }
      catch (KeyNotFoundException)
      {
         outputBlock.Text += "Key = \"tif\" is not found." + "\n";
      }

      // When a program often has to try keys that turn out not to
      // be in the dictionary, TryGetValue can be a more efficient 
      // way to retrieve values.
      string value = "";
      if (openWith.TryGetValue("tif", out value))
      {
         outputBlock.Text += String.Format("For key = \"tif\", value = {0}.", value) + "\n";
      }
      else
      {
         outputBlock.Text += "Key = \"tif\" is not found." + "\n";
      }

      // ContainsKey can be used to test keys before inserting 
      // them.
      if (!openWith.ContainsKey("ht"))
      {
         openWith.Add("ht", "hypertrm.exe");
         outputBlock.Text += String.Format("Value added for key = \"ht\": {0}",
             openWith["ht"]) + "\n";
      }

      // When you use foreach to enumerate dictionary elements,
      // the elements are retrieved as KeyValuePair objects.
      outputBlock.Text += "\n";
      foreach (KeyValuePair<string, string> kvp in openWith)
      {
         outputBlock.Text += String.Format("Key = {0}, Value = {1}",
             kvp.Key, kvp.Value) + "\n";
      }

      // To get the values alone, use the Values property.
      Dictionary<string, string>.ValueCollection valueColl =
          openWith.Values;

      // The elements of the ValueCollection are strongly typed
      // with the type that was specified for dictionary values.
      outputBlock.Text += "\n";
      foreach (string s in valueColl)
      {
         outputBlock.Text += String.Format("Value = {0}", s) + "\n";
      }

      // To get the keys alone, use the Keys property.
      Dictionary<string, string>.KeyCollection keyColl =
          openWith.Keys;

      // The elements of the KeyCollection are strongly typed
      // with the type that was specified for dictionary keys.
      outputBlock.Text += "\n";
      foreach (string s in keyColl)
      {
         outputBlock.Text += String.Format("Key = {0}", s) + "\n";
      }

      // Use the Remove method to remove a key/value pair.
      outputBlock.Text += "\nRemove(\"doc\")" + "\n";
      openWith.Remove("doc");

      if (!openWith.ContainsKey("doc"))
      {
         outputBlock.Text += "Key \"doc\" is not found." + "\n";
      }
   }
}

/* This code example produces the following output:

An element with Key = "txt" already exists.
For key = "rtf", value = wordpad.exe.
For key = "rtf", value = winword.exe.
Key = "tif" is not found.
Key = "tif" is not found.
Value added for key = "ht": hypertrm.exe

Key = txt, Value = notepad.exe
Key = bmp, Value = paint.exe
Key = dib, Value = paint.exe
Key = rtf, Value = winword.exe
Key = doc, Value = winword.exe
Key = ht, Value = hypertrm.exe

Value = notepad.exe
Value = paint.exe
Value = paint.exe
Value = winword.exe
Value = winword.exe
Value = hypertrm.exe

Key = txt
Key = bmp
Key = dib
Key = rtf
Key = doc
Key = ht

Remove("doc")
Key "doc" is not found.
 */


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型の public static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

コレクションが変更されない限り、Dictionary<TKey, TValue> では、複数の読み込み操作が同時に発生しても問題ありません。ただし、コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。まれに書き込みアクセスによって列挙処理で競合が発生する場合、列挙処理が完了するまでコレクションをロックする必要があります。コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。

表示:
© 2015 Microsoft