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("是的"); } //输出结果: // 是的 // 是的
编程是个人爱好