C# 6 元组特性应用:方便的字典工厂方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 6 元组特性应用:方便的字典工厂方法相关的知识,希望对你有一定的参考价值。

首先是简单的实现:

    public static class CollectionExtensions
    {

        public static IDictionary<TKey, TValue> Map<TKey, TValue>(params (TKey key, TValue value)[] pairs)
        {
            var dict = new Dictionary<TKey, TValue>(pairs.Length);
            foreach (var p in pairs)
            {
                dict.Add(p.key, p.value);
            }
            return dict;
        }

    }

然后就是简单的调用了:

using static CollectionExtensions;

void Main() {
    var dict = Map(("Name", "John Doe"), ("Address", "Wall Street"));
}

感觉是不是比 C# 语法内置的 Dictionary Literal 要清爽不少:

var dict = new Dictionary<string, string> {
    { "Name", "John Doe" },
    { "Address", "Wall Street" }
};

 

  

以上是关于C# 6 元组特性应用:方便的字典工厂方法的主要内容,如果未能解决你的问题,请参考以下文章

案例分析:设计模式与代码的结构特性——工厂方法模式

python小白之路(特性语法三之元组字典)

day6 数组元组字典

案例分析:设计模式与代码的结构特性

Python 基本类型:元组,列表,字典,字符串,集合 梳理总结

元组&字典