gpt4 book ai didi

c#-4.0 - Tuple 和 KeyValuePair 之间的转换

转载 作者:行者123 更新时间:2023-12-02 21:31:29 26 4
gpt4 key购买 nike

KeyValuePair<T1, T2> 之间是否有任何内置转换或强制转换和Tuple<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 中),我想知道这样的转换器是否已经内置于框架?

我问的原因是我正在使用一个旧的库(针对.NET 3.5),该库使用 KeyValuePair<>在很多地方,元组可能更合适,我想使用 Tuple<>在新代码中。所以我想弄清楚是否可以强制转换或转换返回 kvp这些方法的值到 Tuple或者如果我需要定义自己的转换(或更改旧代码)。

最佳答案

据我所知,BCL 中没有内置转换,并且绝对没有隐式或显式强制转换。我怀疑他们是否会添加此转换,因为这些类型用于不同的目的。

我认为你的版本很好。

关于c#-4.0 - Tuple<T1,T2> 和 KeyValuePair<T1, T2> 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11971058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com