我正在尝试在C#中创建一个LINQ查询,它接受一个对象列表,并对其进行分组和计数,然后将结果传递到一个新的对象列表中。
目前这是我的LINQ查询,它执行分组和计数,但不会将数据转移到我需要的列表中,而是生成匿名类型的列表。
我尝试修改我的查询,变成了这样,但是出现了一个错误,说DataPoint没有包含不带参数的构造函数。
任何建议都非常感谢。
目前这是我的LINQ查询,它执行分组和计数,但不会将数据转移到我需要的列表中,而是生成匿名类型的列表。
var dataPoints = from e in evaluations.Take(20)
group e.EvaluationID by e.description into g
select new { Profession = g.Key, Count = g.Count() };
dataPoints
变量返回一个匿名类型列表,数据看起来像这样:
[0] Profession = "Doctor", Count = 12
[1] Profession = "Nurse", Count = 6
[2] Profession = "Health Visitor", Count = 2
我希望返回一个 DataPoint
对象列表,而不是将数据返回为匿名类型的列表。下面是我的 DataPoint
对象。
public class DataPoint
{
public DataPoint(double y, string label)
{
this.Y = y;
this.Label = label;
}
[DataMember(Name = "y")]
public Nullable<double> Y = null;
[DataMember(Name = "label")]
public string Label;
}
我尝试修改我的查询,变成了这样,但是出现了一个错误,说DataPoint没有包含不带参数的构造函数。
var dataPoints = from e in evaluations.Take(20)
group e.EvaluationID by e.description into g
select new DataPoint { Count = g.Count(), Profession = g.Key};
任何建议都非常感谢。
new DataPoint(g.Count(), g.Key)
。 - Micha Wiedenmann