【问题标题】:How can I call method from all elements in list array (linq list) C#如何从列表数组(linq 列表)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 是的(如果可能的话)

标签: c# arrays linq


【解决方案1】:

如果我理解正确,您可以使用List&lt;T&gt;.ForEach(实际上只是按顺序迭代执行相应操作的集合):

allObjects.ForEach(i => i.Pulse("prop", 10));

如果你想并行运行它们,你可以使用AsParallel(使用WithDegreeOfParallelism来控制并行执行的数量):

allObjects.AsParallel().ForAll(i => i.Pulse("prop", 10))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-20
    • 2019-11-23
    • 2022-01-22
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多