C#图表绑定到var
我从linq查询中得到了具有以下结构的var t:C#图表绑定到var,c#,asp.net,charts,var,asp.net-charts,C#,Asp.net,Charts,Var,Asp.net Charts,我从linq查询中得到了具有以下结构的var t: [0] = { Type = "K", Count = 1 } [1] = { Type = "Z", Count = 8 } 现在我想优雅地将它绑定到我的图表上(没有foreach)。我尝试这样做: series1.Points.DataBindXY(t. ????, t.????); 但我不知道如何获取var的“第一列”和“第二列”。 请帮忙 编辑: 我的linq查询: var t
[0] = { Type = "K", Count = 1 }
[1] = { Type = "Z", Count = 8 }
现在我想优雅地将它绑定到我的图表上(没有foreach)。我尝试这样做:
series1.Points.DataBindXY(t. ????, t.????);
但我不知道如何获取var的“第一列”和“第二列”。
请帮忙
编辑:
我的linq查询:
var t= (from oAction in Actions
group oAction by oAction.Type.Name into g
select new { Type = g.Key, Count = g.Count() }).ToArray();
我从未使用过ASP.Net图表,因此我不确定这是否可行,但我认为应该:
series1.Points.DataBindXY(t.Select(x => x.Type), t.Select(x => x.Count));
这将指定一组Type
值作为x值,一组Count
值作为y值
var t= (from oAction in Actions
group oAction by oAction.Type.Name into g
select new { Type = g.Key, Count = g.Count() }).ToArray();
好的,您返回的是“匿名”类型。您肯定可以访问t.Type或t.Count,但问题是您只能在定义此LINQ查询的方法中执行此操作。匿名类型的范围仅限于在其中定义它的方法。您可以通过使用“dynamic”关键字来克服这个限制。但是我还没有尝试过这个,所以不能100%确定。为什么不需要foreach循环?你正在收集。要么你的控件应该足够聪明,可以选择正确的参数,要么你必须在集合中枚举。谢谢你的回答。我能用我的var(仅类型)的“第一列”轻松创建一个数组或列表吗。你能发布你的LINQ查询吗?基本上想看看您的LINQ查询是否返回匿名类型?“Var”是一个隐式类型变量,它是编译时计算的。您可以很容易地看到查询返回值的实际类型。我已经编辑了我的问题,添加了linq。如果我得到一个字符串数组,类型为,数组od int为,计数为,这将非常有用