zoukankan      html  css  js  c++  java
  • Dictionary及KeyValuePair使用

            /// <summary>
            /// 除去数组中的空值和签名参数并以字母a到z的顺序排序
            /// </summary>
            /// <param name="dicArrayPre">过滤前的参数组</param>
            /// <returns>过滤后的参数组</returns>
            public static Dictionary<string, string> FilterPara(SortedDictionary<string, string> dicArrayPre)
            {
                Dictionary<string, string> dicArray = new Dictionary<string, string>();
                foreach (KeyValuePair<string, string> 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;
            }
            /// <summary>
            /// 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
            /// </summary>
            /// <param name="sArray">需要拼接的数组</param>
            /// <returns>拼接完成以后的字符串</returns>
            public static string CreateLinkString(Dictionary<string, string> dicArray)
            {
                StringBuilder prestr = new StringBuilder();
                foreach (KeyValuePair<string, string> temp in dicArray)
                {
                    prestr.Append(temp.Key + "=" + temp.Value + "&");
                }
    
                //去掉最後一個&字符
                int nLen = prestr.Length;
                prestr.Remove(nLen - 1, 1);
    
                return prestr.ToString();
            }
            /// <summary>
            /// 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对参数值做urlencode
            /// </summary>
            /// <param name="sArray">需要拼接的数组</param>
            /// <param name="code">字符编码</param>
            /// <returns>拼接完成以后的字符串</returns>
            public static string CreateLinkStringUrlencode(Dictionary<string, string> dicArray, Encoding code)
            {
                StringBuilder prestr = new StringBuilder();
                foreach (KeyValuePair<string, string> 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<KeyValuePair<string, string>> KV_List = new List<KeyValuePair<string, string>>();
        void initList()
        {
            KV_List.Add(new KeyValuePair<string, string>("qwer", "asdf"));
            KV_List.Add(new KeyValuePair<string, string>("qwer", "ghjk"));
            KV_List.Add(new KeyValuePair<string, string>("zxcv", "asdf"));
            KV_List.Add(new KeyValuePair<string, string>("hjkl", "uiop"));
        }
    // #1: get all keys (remove Distinct() if you don't want it)
    List<string> allKeys = (from kvp in KV_List select kvp.Key).Distinct().ToList();
    // allKeys = { "qwer", "zxcv", "hjkl" }
    
    // #2: get values for a key
    string key = "qwer";
    List<string> values = (from kvp in KV_List where kvp.Key == key select kvp.Value).ToList();
    // values = { "asdf", "ghjk" }
    
    // #3: get keys for a value
    string value = "asdf";
    List<string> 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<KeyValuePair<string, string>> kvpList = new List<KeyValuePair<string, string>>()
    {
        new KeyValuePair<string, string>("Key1", "Value1"),
        new KeyValuePair<string, string>("Key2", "Value2"),
        new KeyValuePair<string, string>("Key3", "Value3"),
    };
    
    kvpList.Insert(0, new KeyValuePair<string, string>("New Key 1", "New Value 1"));
    foreach (KeyValuePair<string, string> kvp in kvpList)
    {
        Console.WriteLine(string.Format("Key: {0} Value: {1}", kvp.Key, kvp.Value);
    }
  • 相关阅读:
    Adobe Flex初记
    将获得datebox值的文本形式转为日期格式
    Java代码中获取Json的key值
    SortedMap与TreeMap的一个典型应用
    上传本地代码到github&&从github下载源码
    springMVC第一课--配置文件
    MySQL视图的优缺点以及如何创建视图
    一张图看懂IaaS, PaaS和SaaS的区别
    二十三种设计模式-六大原则
    数据库设计三大范式
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5313173.html
Copyright © 2011-2022 走看看