C#中如何判断2个集合中数据是不是相同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中如何判断2个集合中数据是不是相同相关的知识,希望对你有一定的参考价值。

有2个集合List<int> a, b

a里面有1,2,3,4,5,10,32等等,b里面有1,2,3,4,5,6,7等等。现在我希望将b里面的和a相同的数经行修改。。比如相等的b里面的1,2,3,4,5就加上100 变成101,102,103,104,105这样。 如何写

用LINQ, a对b做差集,b对a做差集,两次的结果都是空集合则说明两个集合完全相同,这是最简单的办法,只要一句话就能搞定.类似这样:(手写,不一定正确)

a.Except(b).Count()==0&&b.Except(a).Count()==0
参考技术A static void Main()

List<int> lstOne = new List<int>() 1, 2, 3, 4, 5, 10, 32 ;
List<int> lstTwo = new List<int>() 1, 2, 2, 3, 4, 3, 4, 5, 6, 7 ;
var equalValue = lstOne.Intersect<int>(lstTwo);
foreach (var i in equalValue)

// 考虑多个相同值 List<int> lstTwo = new List<int>() 1, 2, 2, 3, 4, 3, 4, 5, 6, 7 ;
while (lstTwo.IndexOf(i) >= 0)

int index = lstTwo.IndexOf(i);
lstTwo[index] = lstTwo[index] + 100;



foreach (var item in lstTwo)

Console.WriteLine(item);


Console.ReadKey();
参考技术B 定义数组c,先用循环,找出b中与a相等的所有大的数的下标,记入数组c,然后,根据c中的下表,对b中相应的数进行修改 参考技术C 集合都有下标,通过下标循环比较 参考技术D List<int> lstA = new List<int>() 1, 2, 3, 4, 5, 10, 32 ;
List<int> lstB = new List<int>() 1, 2, 3, 4, 5, 6, 7 ;
for(int i=0;i<lstB.Count;i++)
if(lstA.Contains(lstB[i]))
lstB[i]+=100;

本回答被提问者采纳

如何判断一个集合是不是为空?

参考技术A

集合{1,2,3}和集合{1,3,2}是同一个集合。这是集合的无序性。

一个集合中,每个元素的地位都是相同的,元素之间是无序的。集合上可以定义序关系,定义了序关系后,元素之间就可以按照序关系排序。但就集合本身的特性而言,元素之间没有必然的序。

一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。有时需要对同一元素出现多次的情形进行刻画,可以使用多重集,其中的元素允许出现多次。

用来表达模糊性概念的集合,又称模糊集、模糊子集。普通的集合是指具有某种属性的对象的全体。这种属性所表达的概念应该是清晰的,界限分明的。因此每个对象对于集合的隶属关系也是明确的,非此即彼。

但在人们的思维中还有着许多模糊的概念,例如年轻、很大、暖和、傍晚等,这些概念所描述的对象属性不能简单地用“是”或“否”来回答,而模糊集合就是指具有某个模糊概念所描述的属性的对象的全体。

以上是关于C#中如何判断2个集合中数据是不是相同的主要内容,如果未能解决你的问题,请参考以下文章

C#中如何判断一条数据是不是在某个list<T>集合中?

如何判断一个集合是不是为空?

C#中怎么判断一个数是不是在一个集合里?

c#,判断2个dataTable是不是一样的问题。。

Thymeleaf 中如何判断list集合中是不是包含某个值

java遍历集合某字段,判断是不是存在相同的值。