c#中Dictionary>的使用

最近在做一个小Demo发现使用Dictionary>这样比较简单一点,但是查看了一下基本上介绍这种的几乎为零。所以开了这篇文章。

这篇文章的逻辑主要是添加以一个对象所拥有的行为,添加时不能添加重复,有遇见这种问题的小伙伴可以看下代码

Dictionary> dic = new Dictionary>();

 List lst = null;

while (!rcdset.IsEOF && !rcdset.IsEmpty)//循环获取

    {

                int bTemp = 0;//用来记录key值是否重复

                rcd = rcdset.Att;

                string strTmpClass = rcd.GetFldToStr(nFieldsClass);//取key值;

                string strTmpName = rcd.GetFldToStr(nFieldsName);

                if(lst==null)//添加第一个泛型

                {

                    lst = new List(strTmpName.Split(','));

                    dic.Add(strTmpClass, lst);

                }

                else

                {

                    foreach(var key in dic.Keys)

                    {

                        if (key == strTmpClass)

                        {

                            bTemp++;//记录当前key是否有多次出现

                        }

                    }

                    if(bTemp==0)//没有直接添加上去

                    {

                        lst = new List(strTmpName.Split(','));

                        dic.Add(strTmpClass, lst);

                    }

                    else//有则将strTmpName 添加到当前相同的key值

                    {

                      foreach (KeyValuePair> ergodic in dic)

                      {

                          if (ergodic.Key == strTmpClass)

                          {

                              string strFldval = null;

                              foreach (var myValues in ergodic.Value)

                              {

                                  strFldval += myValues + ",";

                              }

                              strFldval += strTmpName;

                              dic.Remove(strTmpClass);

                              lst = new List(strFldval.Split(','));

                              List strLst = lst.Distinct().ToList();//去重

                              dic.Add(strTmpClass, strLst);

                              break;

                          }

                      }

                    }

                }

你可能感兴趣的:(c#中Dictionary>的使用)