【发布时间】:2014-11-09 09:54:06
【问题描述】:
我想知道如何用逗号分隔符显示文本中第二长的单词(列表)?
以下是查找第二长单词的代码(不重复)
结果应该在标签中显示第二长的单词 apples, lemons(带逗号分隔符)的列表,但它目前只显示单个结果 Lemons。如何用逗号分隔符显示它?
我是编程新手,所以更简单的编码会很棒
先谢谢大家了~
string st = "I like apples. I like red apples. I like red apples, lemons and green bananas.";
char[] sep = new char[] { '.', ',', ' ' };
string secondLongestWord = (from words in st.Split(sep).Distinct().ToArray()
orderby words.Length descending
select words).Take(2).Last().ToString();
var query = from words in st.Split(sep).Distinct().ToArray()
where words.Length == secondLongestWord.Length
select words;
foreach (string word in query)
{
this.lbl2ndLongest.Text = word;
}
【问题讨论】:
-
如果您想要
Length与secondLongestWord.Length相同的单词,那么您应该在where子句中输入 - 现在您正在尝试将整数与字符串进行比较,这是编译器告诉你的。 -
哦,我是多么愚蠢!其中 words.Length == secondLongestWord.Length 感谢 Preston!
标签: c# word-count