C#List或者Set集合相同的key合並Value的值


        private Dictionary<string, SortedSet<string>> MergeIdenticalKey(Dictionary<string, SortedSet<string>> dic,
            string key,
            SortedSet<string> set)
        {
            if (set == null || set.Count == 0 || string.IsNullOrEmpty(key)) return dic;
            SortedSet<string> sortedSet = null;
            if (dic.ContainsKey(key))//包含重復key
            {
                foreach (KeyValuePair<string, SortedSet<string>> item in dic)
                {
                    if (item.Key == key)
                    {
                        string strFldval = null;
                        foreach (string myValues in item.Value)
                            strFldval += myValues + ",";
                        foreach (string str in set)
                            strFldval += str + ",";
                        dic.Remove(key);
                        sortedSet = new SortedSet<string>(strFldval.Split(',').FirstOrDefault() == "" ?
                            strFldval.Split(',')
                            : strFldval.Split(',').Take(strFldval.Split(',').Length - 1)); //task(2), 去掉空字符
                        dic.Add(key, sortedSet);
                        break;
                    }
                }
            }
            else //不包含直接添加
                dic.Add(key, set);
            return dic;
        }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM