判断数组中是否有重复元素

细嗅蔷薇 2011-01-14 10:44:12
如何判断string数组中是否有重复的元素?
或者如何判断泛型集合中有重复的元素?
...全文
977 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复
泛型格式 List<List<object>>
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 claymore1114 的回复:]

二维数组是 string [,]
用泛型类 好操作点,
C# code

List<> lists=new ...........
bool isTrue= Lists.GroupBy(g => g.姓名).Any(a => a.Count() > 1);
[/Quote]
我刚就想到了用linkq 但是我不会 我想取得姓名相同的数据 语句如何写?
claymore1114 2011-01-14
  • 打赏
  • 举报
回复
二维数组是 string [,]
用泛型类 好操作点,

List<> lists=new ...........
bool isTrue= Lists.GroupBy(g => g.姓名).Any(a => a.Count() > 1);
纯唇Yu弄 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
int[] ary = new int[] { 1, 3, 3, 4, 5, 4 };
var q = from x in ary
group x by x into Y
select {Y.Key,Y.Count()};


Dictionary<int, int> dict = new Dictionary<int, int>();
foreach (int i ……
[/Quote]

+++
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sunrui521 的回复:]
引用 2 楼 dreanight 的回复:
方法很多,推荐一种吧!

可以将数组中的元素放到一个hashset中,判断数组和set的长度是否相同!
set的优点之一是不包含重复的元素!


康康也天天逛啊
[/Quote]
那当然了
sunrui521 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dreanight 的回复:]
方法很多,推荐一种吧!

可以将数组中的元素放到一个hashset中,判断数组和set的长度是否相同!
set的优点之一是不包含重复的元素!
[/Quote]

康康也天天逛啊
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复
有人没?
夜归人 2011-01-14
  • 打赏
  • 举报
回复
用递归吧 调用的时候start设为0就可以了
public bool IsRepeat(List<string> m_list,int start)
{
string index = m_list[start];
for (int i = start+1; i <m_list.Count; i++)
{
if (m_list[i] == index)
return false;
}
IsRepeat(m_list, start + 1);
return true;
}
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复
上面的话说错了
我就想知道如何判断该数组中 姓名是否有重复的
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复
也许是我没说清楚
我想判断一个二维数组中 某个元素中的某个元素是否相同
 string [][] str= {{"姓名","年龄","工作单位","住址"},{"姓名","年龄","工作单位","住址"},{"姓名","年龄","工作单位","住址"}};
// 我就知道如何判断该数组中 姓名是否有重复的
//我现在思维有点小混乱

夜归人 2011-01-14
  • 打赏
  • 举报
回复
LIST.Contain好像很难实现吧
wuyq11 2011-01-14
  • 打赏
  • 举报
回复
int[] ary = new int[] { 1, 3, 3, 4, 5, 4 };
var q = from x in ary
group x by x into Y
select {Y.Key,Y.Count()};


Dictionary<int, int> dict = new Dictionary<int, int>();
foreach (int i in arr)
{
if (dict.ContainsKey(i)) dict[i]++;
else dict.Add(i, 1);
}
  • 打赏
  • 举报
回复
LIST.Contains

N种方法
dreanight 2011-01-14
  • 打赏
  • 举报
回复
方法很多,推荐一种吧!

可以将数组中的元素放到一个hashset中,判断数组和set的长度是否相同!
set的优点之一是不包含重复的元素!
TimZhuFaith 2011-01-14
  • 打赏
  • 举报
回复
str.Distinct().Count()
str.Length
比较下
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复

//这是我自己想到的可以使用的方法 呵呵 如有不对之处 请指正
List<List<object>> feedback= new List<List<object>>();
List<List<object>> name = new List<List<object>>();
int number = 0;
for (int i = 0; i < feedback.Count; i++)
{
if (feedback[i][7] == null)
{ continue; }
string str = feedback[i][7].ToString();
if (i+1 == feedback.Count)
{
break;
}
if (str == feedback[i + 1][7].ToString())
{
number = i;
}
}
if (number > 1)
{
name.Add(feedback[number]);
name.Add(feedback[number + 1]);
feedback.RemoveAt(number);
feedback.RemoveAt(number);
}
happy664618843 2011-01-14
  • 打赏
  • 举报
回复
ArrayList list=new Arraylist();
list.Add();
if(list.Contatins())
list.Remove();
细嗅蔷薇 2011-01-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 min420625 的回复:]

list中好像有个方法是剔除一样的数据的,如果用了这个方法的跟没用这个方法之前的list的长度一样就是没有相同的了,否则就是有了!
[/Quote]
不是 我想想获取相同的数据后在删除相同的数据
min420625 2011-01-14
  • 打赏
  • 举报
回复
list中好像有个方法是剔除一样的数据的,如果用了这个方法的跟没用这个方法之前的list的长度一样就是没有相同的了,否则就是有了!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧