c# - 如何使用 Linq 将对象投影到列表中?

标签 c# linq

我发现自己总是需要在通过网络发送对象之前将它们细化。

背景:

Position 是一个重要的竞争者,它是根据我的表由 LINQ to SQL 生成的。它存储大量数据。

SPosition 是一个轻量级对象,它存储我的纬度和经度。

代码:

 List<SPosition> spositions = new List<SPosition>();
 foreach (var position in positions)  // positions = List<Position>
 {
    SPosition spos = new SPosition { latitude = position.Latitude, longitude = position.Longitude };
    spositions.Add(spos);
 }

 return spositions.SerializeToJson<List<SPosition>>();

我怎样才能使用一些 LINQ 魔法来稍微清理一下?

最佳答案

var spositions = positions.Select(
                     position => new SPosition
                         {
                             latitude = position.Latitude,
                             longitude = position.Longitude
                         }).ToList();

关于c# - 如何使用 Linq 将对象投影到列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5655195/

相关文章:

c# - ASP.NET MVC3 : How do I hide fields using Html. DisplayForModel 和 Html.EditorForModel

c# - 我怎样才能 "pass through"来自 NEST Elasticsearch 查询的原始 json 响应?

c# - 将索引添加到根据 Id 组重置的列表

c# - Linq to sql 表达式树执行区问题

c# - LINQ 对数据进行两次分组

c# - 在 Asp.net Core 2.0 中 IHostingEnvironment 是可扩展的

c# - C# XMlSerializer 中具有特殊字符的 XML 反序列化

c# - 这是使用异常的正确方法吗?

c# - 如何将 SortableBindingList 分配给 LINQ 查询

c# - 查询语法有效,但 lambda 语法不适用于 linq select 语句