C# 使用select将foreach转换为linq表达式

C# 使用select将foreach转换为linq表达式,c#,linq,C#,Linq,我有一个表达: var newValues = MetarDecoder.Decode(telegram) .OfType<MeteoParameter<decimal>>() .Select(parameter => MeteoParameterFactory .Create(parameter.ParameterId, parameter.DateTime.ToL

我有一个表达:

  var newValues = MetarDecoder.Decode(telegram)
                .OfType<MeteoParameter<decimal>>()
                .Select(parameter => MeteoParameterFactory
                .Create(parameter.ParameterId, parameter.DateTime.ToLocalTime(), parameter.Status, parameter.Value))                            
                .ToList();
那么,有没有办法在如下所示的LINQ表达式中添加此部分?

在Select中,您可以创建一个匿名函数,返回在其中创建的参数

var val = MetarDecoder
            .Decode(telegram)
            .OfType<MeteoParameter<decimal>>()
            .ToList()
            .ForEach(param => 
            {
                var parameter = MeteoParameterFactory.Create(param.ParameterId, param.DateTime.ToLocalTime(), param.Status, param.Value);
                parameter.Info = param.Info;
                newValues.Add(parameter);
            });
var newValues = MetarDecoder.Decode(telegram)
            .OfType<MeteoParameter<decimal>>()
            .Select(param => { 
                   var parameter = MeteoParameterFactory.Create(param.ParameterId, param.DateTime.ToLocalTime(), param.Status, param.Value);
                   parameter.Info = param.Info;
                   return parameter;
             }).ToList();
在Select中,您可以创建一个匿名函数,返回在其中创建的参数

var newValues = MetarDecoder.Decode(telegram)
            .OfType<MeteoParameter<decimal>>()
            .Select(param => { 
                   var parameter = MeteoParameterFactory.Create(param.ParameterId, param.DateTime.ToLocalTime(), param.Status, param.Value);
                   parameter.Info = param.Info;
                   return parameter;
             }).ToList();

.ForEachparam=>。。。或..Selectparameter=>{…}?.ForEachparam=>。。。或者..Selectparameter=>{…}?