的LINQ集团按行成
我有一个CSV导入对象的LINQ集团按行成
obj_cellelist = (from line in File.ReadAllLines(pathCelle)
let columns = line.Split(stringSeparators, StringSplitOptions.None)
select new obj_celle()
{
Cgi = columns[0],
zonaNis = columns[0].Length > 8 ? int.Parse(columns[0].Substring(5, 3)) : -1,
codice_Sarf = columns[0].Length > 11 ? int.Parse(columns[0].Substring(8, 4)) : -1,
IDCella = columns[1],
Operatore = columns[2],
Void = columns[3],
Via = columns[4].Replace("''", "'"),
Comune = columns[5].Replace("�", "A'"),
Provincia = columns[6],
Regione = provincie.Keys.Contains(columns[6]) ? provincie[columns[6]] : "",
Nazione = columns[7],
Latitudine = decimal.Parse(columns[8].Replace('.', ',')) ,
Longitudine = decimal.Parse(columns[9].Replace('.', ',')) ,
Void1 = columns[10],
Azimuth = columns[11].Length > 0 ? int.Parse(columns[11]) : -1 }).ToList();
我需要通过Longitudine和Latitudine组,并得到所有不同的方位行。对于每个纬度,纵向,最多有三个不同的方位角。 除了cgi,其他值都是一样的,我不需要。 新对象应包含 zonaNis,codice_Sarf,IDCella,算符,空隙,VIA,拱廊,省报,大区,Nazione,Latitudine,Longitudine,Void1,Azimuth1,Azimuth2,Azimuth3
实施例:
861 ## #3OF034AA ### VODAFONE ###### STRADA TEST ### NOLA ### AR ###意大利### 43.74619685 ### 11.71866206 ###### 110
862 ### 3OF034AA ### VODAFONE ###### STRADA TEST ### NOLA ### AR ### ITALY ### 43.74619685 ### 11.71866206 ###### 240
864 ### 3OF034AA ## #VODAFONE ###### STRADA TEST ### NOLA ### AR ###意大利### 43.74619685 ### 11.71866206 ###### 110
865 ### 3OF034AA ### VODAFONE ###### STRADA TEST ### NOLA ### AR ###意大利### 43.74619685 ## #11.71866206 ###### 240
867 ### 3OF034AA ### VODAFONE ###### STRADA TEST ### NOLA ### AR ### ITALY ### 43.74619685 ### 11.71866206 ###### 110
868 ### 3OF034AA ### VODAFONE ###### STRADA TEST ### NOLA ### AR ### ITALY ### 43.74619685 ### 11.71866206 ## ####在对象240
输出应该
3OF034AA ### VODAFONE ###### STRADA TEST ### NOLA ### AR ###意大利### 43.74619685 ### 11.71866206 ###### 110 ### 240
obj_cellelist
.GroupBy(p => new { Lat = p.Latitudine, Long = p.Longitudine })
.Select(g => new { place = g.Key, azimuths = g.Select(a => a.Azimuth).Disctinct() })
.ToList();
这将产生你的对象列表具有两个属性。第一个属性的类型是obj_celle,另一个属性是不同方位角的列表。
不工作。我需要新的zonaNis,codice_Sarf,IDCella,Operatore,Void,Via,Comune,Provincia,Regione,Nazione,Latitudine,Longitudine,Void1,Azimuth1,Azimuth2,Azimuth3 –
您拥有属性所有的这些值,方位角属性方位角作为列表
请[mcve]。以名称,纬度,长度做一个小例子,并显示使用预期的结果。他们以你计算的方式。 –
因为目前还不清楚。因为方位在点之间。 –
您是否想将一个Csv转换为其他Csv格式? –