我目前正在使用......
public static class KeyValuePairFactory {
public static KeyValuePair<TKey, TValue> Create<TKey, TValue>(
TKey key,
TValue value
) {
return new KeyValuePair<TKey, TValue>(key, value);
}
}
...而不是......
var pair = new KeyValuePair<MyVeryUnwieldyType1, MyVeryUnwieldyType2>(
new MyVeryUnwieldyType1(),
new MyVeryUnwieldyType2()
);
...我可以避免重复类型而且只是:
var pair = KeyValuePairFactory.Create(
new MyVeryUnwieldyType1(),
new MyVeryUnwieldyType2()
);
我是重新发明轮子并重新实现.NET Framework中已有的东西吗?
答案 0 :(得分:1)
嗯,这取决于你是否肯定想要KeyValuePair
。我不知道KeyValuePair
有什么内容,但 存在于Tuple
,通过Tuple.Create
:
Tuple<int, int> foo = Tuple.Create(10, 20);
就个人而言,我很少发现自己直接创建 KeyValuePair
值 - 我发现在Dictionary<,>
上使用LINQ to Objects时,更常见的是使用它们。