使用C#评估数据并在图表控件上显示

时间:2016-02-15 06:27:02

标签: c# statistics analysis

大家好日子。

我有一个名为User的类型。

<ul id="cart-products" data-role="listview" data-pull-to-refresh="true" data-messages='{ "refreshTemplate": "Refreshing!" }'  data-source="CartData" data-template="cart-template"></ul>

我有一个这种类型的数组。

public struct User {
    public string ID { get; set; }
    public string Name { get; set; }
    public string Country { get; set; }
}

数组包含:

public User[] users;

如何在C#中找出每个国家/地区的用户数量?

Index | ID | Name    | Country
0      1    Smith     United States
1      2    Aki       Japan
2      3    Lisa      United States 
3      4    Adam      Sweden
4      5    Geert     Germany
5      6    Hido      Japan

我想评估这些信息,以便我可以在图表控件上显示。我确信网上有关于我正在尝试做的事情的信息,但我不确切知道如何用它来表达...帮助将不胜感激。

提前致谢

更新

我已经做了以下工作并且有效:

United states - 2
Japan         - 2
Sweden        - 1
Germany       - 1

但是,我认为这不是最好的方式......我想看看替代方案。

2 个答案:

答案 0 :(得分:3)

如果您使用CarbineCoders回答group.Key代替group.Country

,它会有效
public User[] users;

var countryCount= users.ToList().GroupBy(n => n.Country).
                     Select(group =>
                         new
                         {
                             Country= group.Key,
                             Count = group.Count()
                         });

答案 1 :(得分:0)

您可以使用Linq

var results = from U in users
              group U by U.Country into g
              select new { Country = g.Key, Total = g.count };