1

我目前正在使用...

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 中已有的东西吗?

4

1 回答 1

1

好吧,这取决于您是否确实想要KeyValuePair. 我不知道有什么 for KeyValuePair,但它确实存在于Tuple, via Tuple.Create:

Tuple<int, int> foo = Tuple.Create(10, 20);

就个人而言,我很少发现自己直接创建 KeyValuePair值 - 我发现将它们作为在Dictionary<,>.

于 2012-09-01T13:40:13.273 回答