首页 新闻 搜索 专区 学院

ArrayList如何比较是否有相同值

0
悬赏园豆:20 [已关闭问题]

请问两个Arraylist如何比较是否具有相同值,如果相同则不做什么,不相同则显示在listView中

如List1中有 ,1,2,3,4,5

List2中有,1,2,3,4,5,6,7,8

我要显示6,7,8在listview中 谢谢

就是这么洋的主页 就是这么洋 | 初学一级 | 园豆:60
提问于:2008-09-17 17:44
< >
分享
其他回答(3)
0
Code

     

ListView3收集了List2中不同于List1的值的集合。不知这是不是你想的结果

加冰的可乐 | 园豆:410 (菜鸟二级) | 2008-09-17 17:53
0
Code

List
<object> list1 = new List<object>();//你的原始排除素材
List<object> list2 = new List<object>();//你的原始所有素材

Dictionary
<object, object> temp = new Dictionary<object, object>();//用于提速

//加入提速器
temp.Clear();
foreach (object o in list1) {
temp.Add(o,
null);
}

System.Windows.Forms.ListView listview
= new System.Windows.Forms.ListView();//你的目标控件
foreach (object o in list2) {
if (!temp.ContainsKey(o))
listview.Items.Add(
new System.Windows.Forms.ListViewItem(new string[] { o.ToString() }));//注意 ListView 的实际列数. 如果两列就用 new string[]{o.ToString(), others} 等
}

 

天,无语……

陛下 | 园豆:3938 (老鸟四级) | 2008-09-17 18:05
0

拿LINQ开刀吧

var ds = list1.Intersect(list2);

listView.DataSource = ds;

listView.DataBind();

Gray Zhang | 园豆:17610 (专家六级) | 2008-09-17 21:43
0

支持楼上!

天堂口 | 园豆:514 (小虾三级) | 2008-09-18 11:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册