簡體   English   中英

如何使用Linq將對象投影到列表中?

[英]How do I project an object into a list using 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();
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();

首先想到:

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

沒有機會測試代碼,但我認為它會起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM