C# KeyValuePair<TKey,TValue>的用法

命名空间:System.Collections.Generic

构造函数:public KeyValuePair (TKey key, TValue value);

属性:只读属性 Key ,只读属性 Value

方法:public void Deconstruct (out TKey key, out TValue value);方法  解构可以做模式匹配 

         public override string ToString (); 字符串表示形式,它包括键和值的字符串表示形式。

  初始化,由于Key 、Value是只读属性,所以不能采用初始值设定项初始化,只能用构造函数初始化:

 var kvp =new KeyValuePair<int, string> (3,"Command");

 

由于键值对有解构函数Deconstruct(record记录也有解构函数)所以可以用作位模式匹配参数

 

支持switch表达式模式匹配 中的 属性模式

   static void Main(string[] args)
        {

            var kvp =new KeyValuePair<int, string> (3,"Command");
            Console.WriteLine(keyPattrn(kvp));


        }
        public static string  keyPattrn(KeyValuePair<int, string> kvp) => kvp switch
        {
            (3, "Command") => "Origin",
            (4, "Command") => "Origin",
            _ => "Just a point",
        };

 支持is表达式  中的 属性模式

    if(kvp is { Key: >2, Value: "Command" })
           {

                Console.WriteLine("是的");
            }

            if (kvp is (3, "Command"))
            {

                Console.WriteLine("是的");
            }
//输出结果:
//           是的
//           是的

 

posted @ 2021-10-10 14:31  小林野夫  阅读(2416)  评论(0编辑  收藏  举报
原文链接:https://www.cnblogs.com/cdaniu/