gpt4 book ai didi

c# - 使用linq从多个列表中执行一个对象的方法

转载 作者:太空宇宙 更新时间:2023-11-03 20:10:42 24 4
gpt4 key购买 nike

假设我有一些类实现了一些接口(interface)

public class A : I
{
public void DoSomething()
{
// Some implementation
}
}

public class B : I
{
public void DoSomething()
{
// Some other implementation
}
}

public interface I
{
void DoSomething();
}

以及每个类的列表

var listA = new List<A>();
var listB = new List<B>();

除了为每个列表执行单独的 foreach 之外,还有什么方法可以执行 DoSomething 吗?如果是这样,最好的(最好指的是性能和内存使用情况)方法是什么?

最佳答案

试试这个:

foreach(var item in listA.OfType<I>().Concat(listB.OfType<I>()))
item.DoSomething();

关于c# - 使用linq从多个列表中执行一个对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20212900/

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