相关疑难解决方法(0)

两个列表之间的差异保留重复

我有两个清单:

var list1 = new List<string> { "A", "A", "B", C" };
var list2 = new List<string> { "A", "B" };
Run Code Online (Sandbox Code Playgroud)

我想制作一个像这样的清单

var result = new[] { "A", "C" };
Run Code Online (Sandbox Code Playgroud)

如果列表是从中list1删除的所有元素list2我不认为有这样的Linq扩展方法,因为Except删除重复.

非linq的方法是:

var tempList = list1.ToList();
foreach(var item in list2)
{
    tempList.Remove(item);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有一个我可能错过的Linq扩展方法.

编辑:

因为这里可能没有任何扩展方法.

public static class LinqExtensions
{
    public static IEnumerable<T> RemoveRange<T>(this IEnumerable<T> source, IEnumerable<T> second)
    {
        var tempList = source.ToList();

        foreach(var item in second)
        {
            tempList.Remove(item);
        }

        return tempList;
    } …
Run Code Online (Sandbox Code Playgroud)

c# linq

8
推荐指数
1
解决办法
990
查看次数

标签 统计

c# ×1

linq ×1