如何在条件列表中添加不同的值?

时间:2018-10-29 15:42:37

标签: c# list sum

我有一个包含国家/地区的列表,每个国家/地区都有一个数字。 每个国家/地区可以再次显示不同的号码。

我的工作是写出哪个国家名列第一和多少次。

例如:

  

英格兰1,
  德国3,
  匈牙利1,
  德国1,
  瑞典人2,
  匈牙利4,
  法语2,
  匈牙利1,
  英格兰1,
  英格兰1

答案应该像这样:

  

“数字1出现两次低于匈牙利”
  “数字1出现在英格兰之下3次”

class countries
{
    public string country;
    public int number

    static void Main(string[] args)
    {
        #region Beolvasás
        List<countries> x = new List<countries>();
        StreamReader d = new StreamReader("focivb.txt", Encoding.Default);

        while (!d.EndOfStream)
        {
            string[] s = d.ReadLine().Split('\t');

            countries a = new countries();

            a.country= s[0];
            a.number= Convert.ToInt32(s[1]);


            x.Add(a);
        }
        d.Close();
    }
}

.txt看起来基本相同,除了它由制表符分隔

1 个答案:

答案 0 :(得分:0)

使用linq并按名称和编号分组,然后对数据进行计数。 我的片段:

SELECT *
FROM   (SELECT to_wkbgeometry_silent (geometry) AS geo, s_route, block_id
        FROM   geom_table)
WHERE  geo IS NOT NULL;