C# KeyValuePair的用法


命名空间: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("是的");
            }
//输出结果:
//           是的
//           是的

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM