gpt4 book ai didi

c# - 如何使用foreach迭代较大的列表

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:51 27 4
gpt4 key购买 nike

我有两个列表,大小为5个元素的list1和大小为6个元素的list2。
我想使用foreach语句迭代较大的列表大小(例如本例中为6),但问题是我没有使用if条件检查哪个列表更大。
所以我该怎么做必要的任务。

if (list1.Count>list2.Count) // here I donot want to use if statement
{ // do it in 1 statement only
Size=list1.Count;
foreach (var item in list1)
{
// do something
}
}
else
{
Size = list2.Count;
foreach (var item in list2)
{
// do something
}
}

最佳答案

您可以将条件移到foreach中:

foreach(var item in (list1.Count > list2.Count ? list1 : list2))
{
// do stuff
}


如果您有多个列表(超过2个),则可以创建集合并使用LINQ获得最大数量:

var myLists = new List<List<T>>(); // T is the generic type of your Lists, obviously
myLists.Add(list1);
myLists.Add(list2);
...
myLists.Add(listN);

// iterate over the largest one:
foreach (var item in myLists.First(l => l.Count == lists.Max(x=>x.Count)))
{
// do stuff
}

关于c# - 如何使用foreach迭代较大的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910007/

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