首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算团队名称在列表中发生的次数,并将答案放在列表框中

计算团队名称在列表中发生的次数,并将答案放在列表框中
EN

Stack Overflow用户
提问于 2015-07-22 19:48:23
回答 1查看 105关注 0票数 0

所以我必须制定一种方法,按照他们赢得世界系列赛的年份顺序,列出一份棒球队的名单。我试图在列表框中输入某支球队使用数组/字典赢得世界大赛冠军的次数。

代码语言:javascript
复制
    private void btnTrivia_Click(object sender, EventArgs e)
    {
        int counter = 0;
        string line;
        System.IO.StreamReader file = new System.IO.StreamReader(@"C:\Users\t\Documents\Visual Studio 2013\Projects\Assignment_6_Testing\Assignment_6_Testing\Assignment6TestProject\WorldSeriesWinners.txt");
        List<string> list = new List<string>();
        while ((line = file.ReadLine()) != null)
        {

            list.Add(line);
            counter++;

        }

        string[] arr = list.ToArray();
        var dict = new Dictionary<string,int>();


        foreach (string item in arr)
        {
            if (dict.ContainsKey(item))
            {

                dict[item] += 1;

            }
            else
            {
                dict.Add(item, 1);
            }

            //Although it's incorrect, what I want next is to have something like this:
            foreach (var team in dict)
            {
                if (dict.Values.Contains("New York Yankees"))
                {
                    listbox.Items.Add(//New York Yankees have won 27 times)
                }

            }

            }

        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-22 19:57:48

您所需的一切都可以使用LINQ很好地完成:

代码语言:javascript
复制
    var dict = arr
        .GroupBy(x => x)
        .Where(x => selectedTeams.Contains(x))
        .ToDictionary(x => x.Key, x => x.Count());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31572677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档