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);
    }
  • 相关阅读:
    143、Java内部类之访问方法中定义的参数或变量
    142、Java内部类之在普通方法里面定义内部类
    141、Java内部类之实例化外部类对象
    140、Java内部类之实例化内部类对象
    139、Java内部类之使用this访问外部类属性
    138、Java内部类之访问内部类的私有属性
    137、Java内部类之把内部类放到外部
    136、Java的内部类
    135、Java中的静态块,构造方法和构造块
    134、Java中的构造方法和构造块
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/5313173.html
Copyright © 2011-2022 走看看