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

有2个集合List<int>a,ba里面有1,2,3,4,5,10,32等等,b里面有1,2,3,4,5,6,7等等。现在我希望将b里面的和a相同的数经行修改。。比如相等... 有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这样。 如何写
展开
 我来答
FantasyChump
2010-11-29 · TA获得超过3288个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2243万
展开全部
用LINQ, a对b做差集,b对a做差集,两次的结果都是空集合则说明两个集合完全相同,这是最简单的办法,只要一句话就能搞定.类似这样:(手写,不一定正确)

a.Except(b).Count()==0&&b.Except(a).Count()==0
huangpeng0419
2010-11-28 · TA获得超过357个赞
知道小有建树答主
回答量:569
采纳率:100%
帮助的人:299万
展开全部
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();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snarlfuture
2010-11-28 · 超过14用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:35.3万
展开全部
定义数组c,先用循环,找出b中与a相等的所有大的数的下标,记入数组c,然后,根据c中的下表,对b中相应的数进行修改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秀惠场9
2010-11-28 · 超过23用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:40.4万
展开全部
集合都有下标,通过下标循环比较
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙峰游戏
2010-11-28 · TA获得超过220个赞
知道答主
回答量:53
采纳率:0%
帮助的人:45.9万
展开全部
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;
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式