c# 两个List对比返回不同的list
时间: 2023-11-21 11:05:57 浏览: 43
可以使用 LINQ 的 Except 方法来实现。该方法用于获取一个集合中存在于另一个集合中的元素之外的所有元素。
下面是一个示例代码:
```csharp
List<int> list1 = new List<int> { 1, 2, 3, 4, 5 };
List<int> list2 = new List<int> { 3, 4, 5, 6, 7 };
List<int> differentList = list1.Except(list2).ToList();
foreach (int number in differentList)
{
Console.WriteLine(number);
}
```
在上面的代码中,我们有两个整数列表 `list1` 和 `list2`。我们使用 `Except` 方法来获取 `list1` 中存在但 `list2` 中不存在的元素,并将它们存储在 `differentList` 中。最后,我们遍历 `differentList` 并将结果打印到控制台上。
输出结果应该是:
```
1
2
```
因为在 `list1` 中只有 1 和 2 两个元素而它们都不存在于 `list2` 中。
相关问题
C# 两个List集合进行对比返回不同
可以使用 LINQ 中的 Except 方法来实现两个 List 集合的比较,返回不同的元素。具体实现方法如下:
```csharp
List<int> list1 = new List<int> { 1, 2, 3, 4 };
List<int> list2 = new List<int> { 3, 4, 5, 6 };
var differentItems = list1.Except(list2).Concat(list2.Except(list1));
```
以上代码中,我们分别使用 Except 方法得到 list1 中有而 list2 中没有的元素,以及 list2 中有而 list1 中没有的元素。最后将这两个结果合并起来,就可以得到两个集合中不同的元素。在上面的例子中,differentItems 的结果为 { 1, 2, 5, 6 }。
c#两个list合并成一个list
你可以使用`List.AddRange()`方法将一个List中的元素添加到另一个List中,从而将两个List合并成一个List。下面是一个简单的示例代码:
```csharp
List<int> list1 = new List<int>() { 1, 2, 3 };
List<int> list2 = new List<int>() { 4, 5, 6 };
list1.AddRange(list2);
foreach (int num in list1)
{
Console.WriteLine(num);
}
```
输出结果为:
```
1
2
3
4
5
6
```
在这个示例代码中,我们首先创建了两个List:`list1`和`list2`。然后,我们调用`list1.AddRange(list2)`方法将`list2`中的元素添加到`list1`中。最后,我们使用`foreach`循环遍历`list1`中的所有元素,并将它们打印到控制台上。