【问题标题】:Apply method to all elements in enumerable with LINQ将方法应用于使用 LINQ 枚举的所有元素
【发布时间】:2013-05-19 23:29:56
【问题描述】:

我有一个清单,试图完成以下任务。我想为列表中的每个项目运行一个映射器方法...似乎无法获得正确的语法

var viewModelList = result.MyEnumerable.Select(MyMapper(item goes here))

 public static MyViewModel MyMapper(Item item)
        {
            var viewModel = new MyViewModel();
            //do some stuff
            return viewModel;
        }

【问题讨论】:

    标签: c# linq enumerable


    【解决方案1】:
    result.MyEnumerable.Select(x => MyMapper(x));
    

    或更简洁

    result.MyEnumerable.Select(x => new MyViewModel
    {
        // use x in here
    });
    

    【讨论】:

      【解决方案2】:

      您可以使用:

      result.MyEnumerable.Select(r => MyMapper(r));
      

      或使用方法组:

      result.MyEnumerable.Select(MyMapper);
      

      【讨论】:

        【解决方案3】:

        这样使用

        var viewModelList = result.MyEnumerable.Select(s=> MyMapper(s))
        
         public static MyViewModel MyMapper(Item item)
            {
                var viewModel = new MyViewModel();
                //do some stuff
                return viewModel;
            }
        

        【讨论】:

          猜你喜欢
          • 2011-09-23
          • 2018-05-17
          • 2010-10-22
          • 1970-01-01
          • 1970-01-01
          • 2017-12-08
          • 1970-01-01
          • 2013-01-01
          • 1970-01-01
          相关资源
          最近更新 更多