【发布时间】:2020-03-22 18:04:08
【问题描述】:
帮帮我
我有这门课:
public class CLASS_list_dati_esport_CATASTO
{
public Int64 Id_vertice;
public string Denominazione;
public string Materializzazione;
public string Escluso;
public string Origine;
public string Stato;
public string Ordine_cat;
public string Ordine_roma40;
public string Relazione_bessell;
public string Relazione_roma40;
public string Posizione_da_cartografia;
public string Posizione_dai_registri;
public double Media_nord;
public double Nord;
public double Media_est;
public double Est;
public string Cord_fittizia;
public string Cord_esclusa;
}
还有这句话:
List<CLASS_list_dati_esport_CATASTO> list_dati_esport_CATASTO = Carica_list_dati_CATASTO();
(Carica_list_data_CATASTO()是一个在list_data_esport_CATASTO中添加元素的函数)。
我想提取 list_data_esport_CATASTO 和项目“Media_est”中的所有元素,我想分配根据字段 id_vertice 分组的项目“est”的平均值。
var query = from elemento in list_dati_esport_CATASTO
select new CLASS_list_dati_esport_CATASTO
{
Id_vertice = elemento.Id_vertice,
Denominazione =elemento.Denominazione,
Materializzazione= elemento.Materializzazione,
Escluso = elemento.Escluso,
Origine = elemento.Origine,
Stato = elemento.Stato,
Ordine_cat = elemento.Ordine_cat,
Ordine_roma40 = elemento.Ordine_roma40,
Relazione_bessell = elemento.Relazione_bessell,
Relazione_roma40 = elemento.Relazione_roma40,
Posizione_da_cartografia = elemento.Posizione_da_cartografia,
Posizione_dai_registri = elemento.Posizione_dai_registri,
Media_nord = elemento.Media_nord,
Nord = elemento.Nord,
Media_est = from sottoelemento in list_dati_esport_CATASTO group sottoelemento by sottoelemento.Id_vertice into raggruppamento select new { Media_nord = raggruppamento.Average(p => p.est)},
Est = elemento.Est,
Cord_fittizia = elemento.Cord_fittizia,
Cord_esclusa = elemento.Cord_esclusa
};
foreach (var item in query)
{
MessageBox.Show(item.Media_est.ToString());
}
但是
from sottoelemento in list_dati_esport_CATASTO group sottoelemento by sottoelemento.Id_vertice into raggruppamento select new { Media_nord = raggruppamento.Average(p => p.est)}
肯定是错的。
【问题讨论】:
-
我认为你需要在循环外构造一个
dictionary,通过对Id_vertice进行分组,值将是est的Average。并在循环内通过key(Id_vertice) 获取average。如果您提供数据示例和预期结果,我可以添加答案。
标签: c# linq-to-entities