6
是否有任何內置轉換或在KeyValuePair<T1, T2>
和Tuple<T1, T2>
之間轉換?Tuple之間的轉換<T1,T2>和KeyValuePair <T1, T2>
我知道這將是一個微不足道的擴展方法:
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);
}
但由於對象可以用於類似用途(尤其是因爲KeyValuePair<>
經常代替2元Tuple<>
的使用,直到它除了C# 4.0),我想知道這樣的轉換器是否已經嵌入到框架中?
原因我想問的是,我與在許多地方,一個元組可能更適合使用KeyValuePair<>
舊的圖書館(針對.NET 3.5)的工作,我想在新的代碼中使用Tuple<>
。所以我試圖弄清楚我是否可以將這些方法的返回值kvp
轉換爲Tuple
或者如果我需要定義自己的轉換(或更改舊代碼)。