2

我是新手,尝试过搜索,但不太明白,所以我想向论坛寻求帮助。

我想从以下代码将结果放入文本框中,但出现错误。对如何克服它感到困惑,感谢您的帮助。我相信从 linqIgroup 到要放入 textboxt.Text 的字符串的转换是错误的

它将显示文本文件中出现的最多单词。

string sentence;
        string[] result = {""};
        sentence = txtParagraph.Text;
        char[] delimiters = new char[] { ' ', '.', '?', '!' };

        string[] splitStr = sentence.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
        var dic = splitStr.ToLookup(w => w.ToLowerInvariant());
        var orderedDic = dic.OrderByDescending(g => g.Count(m=>m.First()).ToString()));

        txtFreqWord.Text = orderedDic.ToString();
4

1 回答 1

2

尝试以下方法来做你所追求的。我也在使用正则表达式。

            var resultsList = System.Text.RegularExpressions.Regex.Split("normal text here normal normal".ToLower(), @"\W+") 
        .Where(s => s.Length > 3)
        .GroupBy(s => s)
        .OrderByDescending(g => g.Count());

        string mostFrequent = resultsList.FirstOrDefault().Key;

要获得所有这些计数,请执行以下操作:

            foreach(结果列表中的变量 x){
                 txtFreqWord.Text = txtFreqWord.Text + x.Key + " " + x.Count() +", ";
            }
于 2013-06-12T23:50:09.147 回答