////// 除去数组中的空值和签名参数并以字母a到z的顺序排序 /// /// 过滤前的参数组 ///过滤后的参数组 public static DictionaryFilterPara(SortedDictionary dicArrayPre) { Dictionary dicArray = new Dictionary (); foreach (KeyValuePair temp in dicArrayPre) { if (temp.Key.ToLower() != "sign" && temp.Key.ToLower() != "sign_type" && temp.Value != "" && temp.Value != null) { dicArray.Add(temp.Key, temp.Value); } } return dicArray; }
////// 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 /// /// 需要拼接的数组 ///拼接完成以后的字符串 public static string CreateLinkString(DictionarydicArray) { StringBuilder prestr = new StringBuilder(); foreach (KeyValuePair temp in dicArray) { prestr.Append(temp.Key + "=" + temp.Value + "&"); } //去掉最後一個&字符 int nLen = prestr.Length; prestr.Remove(nLen - 1, 1); return prestr.ToString(); }
////// 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对参数值做urlencode /// /// 需要拼接的数组 /// 字符编码 ///拼接完成以后的字符串 public static string CreateLinkStringUrlencode(DictionarydicArray, Encoding code) { StringBuilder prestr = new StringBuilder(); foreach (KeyValuePair temp in dicArray) { prestr.Append(temp.Key + "=" + HttpUtility.UrlEncode(temp.Value, code) + "&"); } //去掉最後一個&字符 int nLen = prestr.Length; prestr.Remove(nLen - 1, 1); return prestr.ToString(); }
C# get keys and values from List<KeyValuePair<string, string>
private List> KV_List = new List >(); void initList() { KV_List.Add(new KeyValuePair ("qwer", "asdf")); KV_List.Add(new KeyValuePair ("qwer", "ghjk")); KV_List.Add(new KeyValuePair ("zxcv", "asdf")); KV_List.Add(new KeyValuePair ("hjkl", "uiop")); }
// #1: get all keys (remove Distinct() if you don't want it)ListallKeys = (from kvp in KV_List select kvp.Key).Distinct().ToList();// allKeys = { "qwer", "zxcv", "hjkl" }// #2: get values for a keystring key = "qwer";List values = (from kvp in KV_List where kvp.Key == key select kvp.Value).ToList();// values = { "asdf", "ghjk" }// #3: get keys for a valuestring value = "asdf";List keys = (from kvp in KV_List where kvp.Value == value select kvp.Key).ToList();// keys = { "qwer", "zxcv" }
https://stackoverflow.com/questions/31414429/c-sharp-get-keys-and-values-from-listkeyvaluepairstring-string
How to insert an item into a key/value pair object?
List> kvpList = new List >(){ new KeyValuePair ("Key1", "Value1"), new KeyValuePair ("Key2", "Value2"), new KeyValuePair ("Key3", "Value3"),};kvpList.Insert(0, new KeyValuePair ("New Key 1", "New Value 1"));
foreach (KeyValuePairkvp in kvpList){ Console.WriteLine(string.Format("Key: {0} Value: {1}", kvp.Key, kvp.Value);}