gpt4 book ai didi

c# - 如果其中一个列表为空,如何将多个列表相交?

转载 作者:太空宇宙 更新时间:2023-11-03 19:58:14 26 4
gpt4 key购买 nike

我在 C# 中使用某些条件制作了一些列表。因此,如果任何条件为假,该列表仍然为空。但我仍然需要将它与其他列表相交以获得最终输出。任何建议如何做是吗?

最佳答案

作为简单的静态方法:

static IEnumerable<T> Intersect<T>(params IEnumerable<T>[] lists)
{
return lists.Where(l => l.Any()).Aggregate((l1, l2) => l1.Intersect(l2));
}

你可以这样使用它

var list1 = new List<string>() { "abc", "cde" };
var list2 = new List<string>() { "abc", "xyz" };
var list3 = new List<string>();

var arrayOfLists = new List<string>[] {list1, list2, list3};

var paramList= Intersect(list1, list2, list3);
var arrayList = Intersect(listOfLists);

注意传递数组而不是列表,否则 T 是返回原始列表的列表。

关于c# - 如果其中一个列表为空,如何将多个列表相交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31183488/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com