日期:2014-05-18  浏览次数:20779 次

C# 关于过滤重复
我已经通过Common方法取出了数据,数据库里是这样的:BasinName字段分别2维工区和3维工区表里。

假设3维工区表里BasinName 下的数据为:A B C D A B C
 Survey3DDA BN3 = new Survey3DDA();
  Dictionary<string, Survey3D> ltBN3 = BN3.GetAllSurvey3D();
  if (ltBN3 != null)
  {
  foreach (Survey3D suBN3 in ltBN3.Values)
  {
  if (suBN3 != null && suBN3.BasinName != null)
  {
  TreeNode nodetq = new TreeNode();
  nodetq.Tag = suBN3;
  nodetq.Text = suBN3.BasinName;
  treeView1.Nodes.Add(nodetq);
  }
  }
  }
建的节点为 






C
有重复。
  我需要用同样方法也从2维工区表BasinName下取数据:A B C E F
把两次数据合并,并过滤重复(合并后应该只包含:A B C D E F),后再建节点。
  现在我就是不知道怎么把从数据库中取出的suBN3.BasinName和suBN2.BasinName合并并过滤重复。

小弟刚学C#,不知道大家看的懂我意思不,看的懂教教我,急啊!!!
写具体点好吗,小弟菜鸟,写的太笼统了我看不懂,谢谢!


------解决方案--------------------
C# code
Survey3DDA BN3 = new Survey3DDA(); 
            Dictionary <string, Survey3D > ltBN3 = BN3.GetAllSurvey3D(); 
            if (ltBN3 != null) 
            { 
                foreach (Survey3D suBN3 in ltBN3.Values) 
                { 
                    if (suBN3 != null && suBN3.BasinName != null) 
                    { 
                         if (!treeView1.Nodes.ContainsKey(suBN3.BasinName))
                         {
                              TreeNode nodetq = treeView1.Nodes.Add(suBN3.BasinName, suBN3.BasinName);
                              nodetq.Tag = suBN3; 
                          } 
                      } 
                 } 
             }