如何从列表数组(linq 列表)C# 中的所有元素调用方法
Posted
技术标签:
【中文标题】如何从列表数组(linq 列表)C# 中的所有元素调用方法【英文标题】:How can I call method from all elements in list array (linq list) C# 【发布时间】:2021-07-06 23:47:06 【问题描述】:我有一个清单:
private List<OutlinedObject> allObjects = new List<OutlinedObject>();
包含具有公共方法的元素
Pulse(string a, int b)
我想从数组中的所有元素中调用方法而不是迭代。我觉得应该是这样的,但是不行:
allObjects.Pulse("prop", 10);
我可以在 C# 中执行此操作吗? 不使用委托是否可以做到这一点?
【问题讨论】:
你想同时给他们打电话吗? @Andre.Santarosa 是的(如果可能的话) 【参考方案1】:如果我理解正确,您可以使用List<T>.ForEach
(实际上只是按顺序迭代执行相应操作的集合):
allObjects.ForEach(i => i.Pulse("prop", 10));
如果你想并行运行它们,你可以使用AsParallel
(使用WithDegreeOfParallelism
来控制并行执行的数量):
allObjects.AsParallel().ForAll(i => i.Pulse("prop", 10))
【讨论】:
以上是关于如何从列表数组(linq 列表)C# 中的所有元素调用方法的主要内容,如果未能解决你的问题,请参考以下文章
Linq 接口列表,接口有成员字符串数组,我想要 linq 语句聚合对象数组中的所有字符串