C#泛型两个集合对比?

xue_piao_piao 2009-06-09 04:26:43
C#泛型两个集合对比?

去除存在相同的!
...全文
274 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
xue_piao_piao 2009-06-10
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 yangjiang113 的回复:]
引用 18 楼 xue_piao_piao 的回复:
引用 15 楼 yangjiang113 的回复:
引用 10 楼 xue_piao_piao 的回复:
5楼我也试了,不行,而且还委托,我昏了!


正确的被你说不行
真无语


打你,我是走的调试看的,你就是看的!



我都调试了n边
[/Quote]

- - 这么有心啊!
yangjiang113 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 xue_piao_piao 的回复:]
引用 15 楼 yangjiang113 的回复:
引用 10 楼 xue_piao_piao 的回复:
5楼我也试了,不行,而且还委托,我昏了!


正确的被你说不行
真无语



打你,我是走的调试看的,你就是看的!
[/Quote]

我都调试了n边
xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
结账啦,嘿嘿,是我搞错了,不好意思呀!
xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 yangjiang113 的回复:]
引用 10 楼 xue_piao_piao 的回复:
5楼我也试了,不行,而且还委托,我昏了!


正确的被你说不行
真无语
[/Quote]

打你,我是走的调试看的,你就是看的!
xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 yangjiang113 的回复:]
引用 9 楼 xue_piao_piao 的回复:
引用 4 楼 wjq 的回复:
for(int i=0;i <item.Count;i++)
{
if(item2.Contains(item[i]))
item.RemoveAt(i);
}


这个不对,if(item2.Contains(item[i])) 为false我试了的


是因为你的id都是1
[/Quote]
你才不对 我看了的ID都是0
binhu12332100 2009-06-09
  • 打赏
  • 举报
回复
顶……
yangjiang113 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xue_piao_piao 的回复:]
5楼我也试了,不行,而且还委托,我昏了!
[/Quote]
正确的被你说不行
真无语
yangjiang113 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 xue_piao_piao 的回复:]
引用 4 楼 wjq 的回复:
for(int i=0;i <item.Count;i++)
{
if(item2.Contains(item[i]))
item.RemoveAt(i);
}



这个不对,if(item2.Contains(item[i])) 为false我试了的
[/Quote]
是因为你的id都是1
cppfaq 2009-06-09
  • 打赏
  • 举报
回复
Subject类需要重写Equals和GetHashcode方法
public override bool Equals(object obj) {

}

public override int GetHashCode() {

}
dingguowendgw 2009-06-09
  • 打赏
  • 举报
回复
1喽和3楼的还可以啊!
zhantianyou 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wartim 的回复:]
如果是类那要判断

C# codeusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
class subject
{
public int id;
public string name;
public subject(int id, string name)
{
this.id = id;
this.name = …
[/Quote]

up this !!
xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
5楼我也试了,不行,而且还委托,我昏了!
xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wjq 的回复:]
for(int i=0;i <item.Count;i++)
{
if(item2.Contains(item[i]))
item.RemoveAt(i);
}
[/Quote]

这个不对,if(item2.Contains(item[i])) 为false我试了的
yangjiang113 2009-06-09
  • 打赏
  • 举报
回复
5楼的方法就可以了
xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yangjiang113 的回复:]
List <subject> item = new List <subject>();

subject是不是你自己写的类呀?
[/Quote]
是呀
yangjiang113 2009-06-09
  • 打赏
  • 举报
回复
List <subject> item = new List <subject>();

subject是不是你自己写的类呀?
wartim 2009-06-09
  • 打赏
  • 举报
回复
如果是类那要判断
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
class Program
{
class subject
{
public int id;
public string name;
public subject(int id, string name)
{
this.id = id;
this.name = name;
}
}

static void Main(string[] args)
{
List<subject> item = new List<subject>();
subject s = new subject(1, "数学");
item.Add(s);
subject s1 = new subject(1, "英语");
item.Add(s1);
subject s2 = new subject(1, "语文");
item.Add(s2);

List<subject> item2 = new List<subject>();
s = new subject(1, "数学");
item2.Add(s);

item.RemoveAll(delegate(subject sub)
{
foreach (subject sub2 in item2)
if (sub2.id == sub.id && sub2.name == sub.name)
return true;
return false;
});
}
}
}
wjq 2009-06-09
  • 打赏
  • 举报
回复
for(int i=0;i<item.Count;i++)
{
if(item2.Contains(item[i]))
item.RemoveAt(i);
}
wartim 2009-06-09
  • 打赏
  • 举报
回复
如果不是合并
List<int> A = new List<int>(new int[] { 1, 2, 3 });
List<int> B = new List<int>(new int[] { 2, 5, 1 });

List<int> NewA = new List<int>(A.Except<int>(B));
List<int> NewB = new List<int>(B.Except<int>(A));

xue_piao_piao 2009-06-09
  • 打赏
  • 举报
回复
我还是举个例子吧


第一个泛型集合:
List<subject> item = new List<subject>();
subject s = new subject(1,"数学");
item.Add(s);
subject s1 = new subject(1,"英语");
item.Add(s1);
subject s2 = new subject(1,"语文");
item.Add(s2);

第二个泛型集合:
List<subject> item2 = new List<subject>();
subject s = new subject(1,"数学");
item2.Add(s);

然后这个两个泛型集合对比,删除重复的结果为:
List<subject> item = new List<subject>();
subject s1 = new subject(1,"英语");
item.Add(s1);
subject s2 = new subject(1,"语文");
item.Add(s2);

*************看到没,没了数学,就是要删除重复的对象****************




加载更多回复(1)

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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