简体   繁体   English

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

[英]How do I project an object into a list using Linq?

I find myself always needing to thin out objects before sending them over the wire. 我发现自己总是需要在通过电线发送物体之前将其弄薄。

Background: 背景:

Position is a heavy contender, which was generated by LINQ to SQL based off my table. Position是一个重要的竞争者,它是由LINQ to SQL根据我的表生成的。 It stores the motherlode of data. 它存储数据的母亲。

SPosition is a lightweight object, which stores only my latitude and longitide. SPosition是一个轻量级对象, 它只存储我的纬度和长度。

Code: 码:

 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>>();

How can I use some LINQ magic to clean this up a bit? 我怎样才能使用一些LINQ魔法来清理它?

var spositions = positions.Select(
                     position => new SPosition
                         {
                             latitude = position.Latitude,
                             longitude = position.Longitude
                         }).ToList();
return positions
    .Select(x => new SPosition 
    { 
        latitude = x.Latitude, 
        longitude = x.Longitude 
    })
    .ToList()
    .SerializeToJson<List<SPosition>>();
positions.ForEach((p) => {spositions.Add({new SPosition { latitude = p.Latitude, longitude = p.Longitude };      }); 
return (from p in positions
        select new SPosition 
        {
            latitude = p.Latitude,
            longitude = p.Longitude
        }).ToList().SerializeToJson();

First thought: 首先想到:

 return positions.Select(p => new SPosition 
        { 
            latitude = p.Latitude, 
            longitude = p.Longitude 
        }).ToList().SerializeToJson<List<SPosition>>();

Haven't had a chance to test the code, but I think it'll work. 没有机会测试代码,但我认为它会起作用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我如何有条件地更新列表<Object>使用 LINQ 的项目 - How do I conditionally update List<Object> items using LINQ 如何订购清单结果 <IDictionary> 对象使用Linq? - How do I order results of a List<IDictionary> object using Linq? 如何使用LINQ对列表进行排序? - How do I sort a list using LINQ? 如何使用Linq对列表进行分组 - How do I group a list using Linq 如何在使用linq维护对象的原始形式的同时过滤列表中的列表? - How do I filter a list within a list while maintaining the original form of the object using linq? 使用 LINQ,如何查看包含在另一个对象/列表中的列表? - Using LINQ, how do I look at List that is contained in another object/List? 如何在使用linq和C#的查询中创建一个包含另一个对象类型列表的列表对象 - How do I create a list object that contains a list of another object type using from within a query using linq and c# 使用LINQ,如何从List中找到具有给定属性值的对象? - Using LINQ, how do I find an object with a given property value from a List? 如何使用LINQ to XML在C#中获得此代码的可用列表对象? - How do I get a usabled List object for this code in C# using LINQ to XML? 如何发送 Object Linq 排序列表作为参数 - How do I send a Object Linq sorted List as a parameter
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM