KeyValuePair<T1, T2>
とTuple<T1, T2>
の間に変換またはキャストが組み込まれていますか?タプル<T1,T2>とKeyValuePairの間の変換<T1, T2>
私は、これは些細な拡張メソッドになります知っている:オブジェクトは、それはC#に加えなるまでKeyValuePair<>
は、多くの場合、2要素Tuple<>
の代わりに使用した、特に以来、同様の目的(のために使用することができるので、
public static KeyValuePair<T1, T2> ToPair<T1, T2>(this Tuple<T1, T2> source)
{
return new KeyValuePair<T1, T2>(source.Item1, source.Item2);
}
public static Tuple<T1, T2> ToTuple<T1, T2>(this KeyValuePair<T1, T2> source)
{
return Tuple.Create(source.Key, source.Value);
}
しかし、 4.0)、私はそのようなコンバータが既にフレームワークに組み込まれているのだろうかと思いましたか?
理由私は、タプルがより適切かもしれない多くの場所でKeyValuePair<>
を使用していた古いライブラリ(.NET 3.5をターゲットにしている)で作業していて、新しいコードでTuple<>
を使用したいと思っています。私はちょうどキャストするか、またはこれらの方法からの戻り値kvp
の値をTuple
に変換することができるかどうか、または私自身の変換を定義する(または古いコードを変更する)必要があるかどうかを調べようとしています。