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这样。 如何写
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个集合中数据是不是相同的主要内容,如果未能解决你的问题,请参考以下文章