给定的字符串是first last middle begin end
;我应该得到像middle begin first last end
?
答案 0 :(得分:1)
这将完成你的工作。拆分然后按长度排序。
string s = "first last middle begin end";
string[] words = s.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries).OrderByDescending(x=>x.Length).ToArray();
答案 1 :(得分:0)
这里有一个排序问题。弄清楚如何将字符串拆分为单个单词,然后按长度排序,然后将它们重新组合成一个字符串。
答案 2 :(得分:0)
只需用Char'分隔原始字符串。 ' (空的空间)。 然后将这些分色保存在String Array中,或者我更喜欢List。
e.g。
string[] words = s.Split(' ');
然后你可以通过Item-Length循环遍历Array / List,显示单词,删除条目,再循环,...
答案 3 :(得分:0)
您的示例中的结果似乎也按字母顺序排序,按长度按降序排序。下面是一些使用Linq执行这两个级别的代码:
string s = "first last middle begin end";
s = string.Join(" ", s.Split(' ').OrderByDescending(item => item.Length).ThenBy(item => item).ToArray());
Console.WriteLine(s);