当前位置:编程学习 > C#/ASP.NET >>

2个Ilist怎么去除里面的重复数据,是否重复按他们中间都有的列A来判断

2个Ilist怎么去除里面的重复数据,是否重复按他们中间都有的列A来判断 --------------------编程问答-------------------- 用第三个list作为中转,逐个对比 --------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
用第三个list作为中转,逐个对比
可不可以详细点啊?不太会哦 --------------------编程问答--------------------  问题没有听懂,是Ilist A中数据,和Ilist B中数据对比是否有相同项?是吗

--------------------编程问答--------------------
引用 3 楼 glglgl2013 的回复:
问题没有听懂,是Ilist A中数据,和Ilist B中数据对比是否有相同项?是吗

是 --------------------编程问答--------------------

//using System;
//using System.Collections;
//using System.Collections.Generic;
//using System.Linq;
static void Main(string[] args)
{
    IList A = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    IList B = new List<int> { 2, 5, 7, 19 };
    IList C = new List<int>();            
    B.Cast<int>().Where(b => A.Contains(b)).ToList().ForEach(c => C.Add(c));            
    C.Cast<int>().ToList<int>().ForEach(c => Console.WriteLine(c + " "));


输出:
2 5 7 --------------------编程问答-------------------- 掉了个} --------------------编程问答--------------------
引用 6 楼 dongxinxi 的回复:
掉了个}
我是要去除重复的哦 --------------------编程问答-------------------- list里面肯定有类型的吧,list2根据主键去list1里面遍历,if contains的时候就抛出,else 添加到list1里面。完事就好了呀 --------------------编程问答--------------------
引用 5 楼 dongxinxi 的回复:
C# code

//using System;
//using System.Collections;
//using System.Collections.Generic;
//using System.Linq;
static void Main(string[] args)
{
    IList A = new List<int> { 1, 2, 3, 4, 5, 6, ……


B.Cast<int>().Where(b => !A.Contains(b)).ToList().ForEach(c => C.Add(c));      不知道为什么不行,我要去除重复的 --------------------编程问答-------------------- 原理上与数据表的去重是一样的,你可以先获取Ilist A列的数据值,Ilist B 的数据每一对比,如果有相等,用个变量存储起来,剩下的就是删除了。 --------------------编程问答--------------------

int[] A = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int[] B = { 2, 5, 7, 19 };

Console.WriteLine(string.Join(",", A.Union(B).Distinct()));

--------------------编程问答-------------------- linq的集合运算有
set1.Intersect(set2);//交集
set1.Except(set2);//差集A-B
set1.Union(set2);//并集去重复
set1.Concat(set2);//类似并集不去重复 --------------------编程问答-------------------- 为什么不直接用去重查询呢? --------------------编程问答-------------------- 去重复的就更简单了

IList A = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
IList B = new List<int> { 2, 5, 7, 19 };
A.Cast<int>().ToList().ForEach(a => { if (B.Contains(a)) A.Remove(a); });
A.Cast<int>().ToList<int>().ForEach(a => Console.Write(a + " "));
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,