欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#中查找Dictionary中的重复值的方法

程序员文章站 2022-07-22 13:52:30
在这篇帮助文档中,我将向你展示如何实现c#里字典中重复值的查找。你知道的对于一个老鸟来说,这是非常简单的代码。但是尽管如此,这也是一篇对c#初学者非常有用的帮助文档。 背...

在这篇帮助文档中,我将向你展示如何实现c#里字典中重复值的查找。你知道的对于一个老鸟来说,这是非常简单的代码。但是尽管如此,这也是一篇对c#初学者非常有用的帮助文档。
背景:多数程序员对小型数据源存储的处理方式通常是创建字典进行键值存储。主键时唯一的,但是字典值却可能有重复的元素。
代码如下

//initialize a dictionary with keys and values.  
dictionary<int, string> plants = new dictionary<int, string>() {  
  {1,"speckled alder"},  
  {2,"apple of sodom"},  
  {3,"hairy bittercress"},  
  {4,"pennsylvania blackberry"},  
  {5,"apple of sodom"},  
  {6,"water birch"},  
  {7,"meadow cabbage"},  
  {8,"water birch"}  
}; 
  
response.write("<b>dictionary elements........ www.jb51.net </b><br />");
     
//loop dictionary all elements  
foreach (keyvaluepair<int, string> pair in plants) 
{
  response.write(pair.key + "....."+ pair.value+"<br />");
} 
  
//find dictionary duplicate values. 
var duplicatevalues = plants.groupby(x => x.value).where(x => x.count() > 1);
 
response.write("<br /><b>dictionary duplicate values..........</b><br />");
 
//loop dictionary duplicate values only      
foreach(var item in duplicatevalues) 
{
  response.write(item.key+"<br />");
}

 以上就是我使用一个简单的linq语句来查找字典中的重复值,大家可以尝试实验一下。