C#检测List中使用的相同字符串

时间:2014-09-17 10:37:13

标签: c# windows active-directory

我从AD中提取计算机名称列表,然后收集最后一位登录用户。对于我正在ping的每台计算机,我想收集用计算机名登录的最后一个用户名。如果列表包含已在列表中但具有不同计算机名称的用户名。我希望将用户名/计算机主机名添加到单独的列表框中。

我的列表看起来像这样:

  1. username1 / COMPUTERHOSTNAME1
  2. username2 / COMPUTERHOSTNAME2
  3. username3 / COMPUTERHOSTNAME3
  4. username1 / COMPUTERHOSTNAME4< ---这将添加到单独的列表中,以识别用户名是否正在转移到新计算机。
  5. var same = MyList.GroupBy(n => n).Any(c => c.Count()> 1);

    var groups = MyList.GroupBy(n => n).Select(t => new {count = t.Count(),key = t.Key});

                          MyList.Add(trimmed + " " + results1[i].Properties["cn"][0].ToString());
    
                          foreach (var group in groups)
                          {
                           //  Console.WriteLine(group.key + "     " + group.count);
    
                             if (group.count > 1)
                             {
                                 duplicates.Add(group.key);
                             }
    
                          }
    

1 个答案:

答案 0 :(得分:1)

我认为listBox2是您添加用户详细信息的地方。

您可以使用以下代码检查是否有持卡人。

listBox2.GroupBy(n => n).Any(c => c.Count() > 1);

您可以使用GroupByDistinct和许多其他功能。