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
或者如果我需要定义自己的转换(或更改旧代码)。