【问题标题】:Linq Map! or Collect!林克地图!或收集!
【发布时间】:2010-10-16 16:07:15
【问题描述】:

什么是 Linq 等价于 Ruby 中的 map! or collect! 方法?

   a = [ "a", "b", "c", "d" ]
   a.collect! {|x| x + "!" }
   a             #=>  [ "a!", "b!", "c!", "d!" ]

可以通过使用 foreach 遍历集合来做到这一点,但我想知道是否有更优雅的 Linq 解决方案。

【问题讨论】:

  • Linq 采用函数式方法,因此您通常不会像上面的示例那样进行就地修改。但是,这更符合 ruby​​ 中 map 和 collect 的预期用途(没有!)

标签: ruby linq map collect


【解决方案1】:

地图=选择

var x = new string[] { "a", "b", "c", "d"}.Select(s => s+"!");

【讨论】:

    【解决方案2】:

    高阶函数map最好用Enumerable.Select表示,它是System.Linq的扩展方法。

    如果你很好奇,其他高阶函数会这样展开:

    reduce ->Enumerable.Aggregate
    filter ->Enumerable.Where

    【讨论】:

      猜你喜欢
      • 2014-03-11
      • 1970-01-01
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-25
      • 2019-08-18
      • 2019-01-01
      相关资源
      最近更新 更多