使用LINQ比较两个列表中的项目并替换foreach循环的解决方法如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
List list1 = new List() { 1, 2, 3, 4, 5 };
List list2 = new List() { 2, 4, 6, 8, 10 };
// 使用LINQ查询比较两个列表中的项目
var commonItems = list1.Intersect(list2);
// 使用LINQ替换foreach循环进行替换操作
List newList = list1.Select(item =>
{
if (commonItems.Contains(item))
return item * 2; // 替换为原值的两倍
else
return item; // 保持不变
}).ToList();
// 输出新列表的结果
foreach (int item in newList)
{
Console.WriteLine(item);
}
}
}
上述示例代码中,我们首先使用LINQ的Intersect
方法找到两个列表中的共同项,并将结果存储在commonItems
变量中。然后,使用LINQ的Select
方法遍历list1
列表,如果项目在commonItems
中存在,则将其替换为原值的两倍;否则保持不变。最后,我们将结果存储在新列表newList
中,并通过foreach循环输出结果。
上一篇:比较两个列表中的项目