【问题标题】:Equivalence of Observable.Do for Enumerable [duplicate]Observable.Do 等价于 Enumerable [重复]
【发布时间】:2021-02-06 14:47:08
【问题描述】:

System.Reactive 中有一个 Do 方法来为序列中的每个项目执行一个 mutator。

在标准库或第三方(如morelinq)中是否有任何等效的 IEnumerable 方法?

【问题讨论】:

    标签: c# .net linq enumerable


    【解决方案1】:

    LINQ 查询运算符通常意味着没有副作用。你可以使用foreach 循环来“做”你的事情。

    如果您不关心副作用,也可以使用SelectWhere 方法:

    enumerable.Select(x => { /*do something here */ return x; })
    

    对于List<T>,有一个ForEach 扩展方法可用于为每个元素执行Action<T>

    【讨论】:

    • Do 方法作为管道的一部分执行操作。 ForEach 为物化列表执行此操作,这不是我需要的。我需要它的拉取版本。
    • 我知道,因此答案中的“对于List<T>...”。那么使用我的前两个建议中的任何一个吗?
    猜你喜欢
    • 2023-03-15
    • 2012-02-21
    • 2011-03-18
    • 2014-03-08
    • 1970-01-01
    • 2012-09-27
    • 2011-08-27
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多