如何在c#中编写代码以按单词大小降序打印给定字符串?
本文关键字:降序 单词大 打印 字符串 代码 | 更新日期: 2023-09-27 18:11:29
给定的字符串是first last middle begin end
;我应该得到这样的输出:middle begin first last end
?
这将完成您的工作。分割,然后按长度排序。
string s = "first last middle begin end";
string[] words = s.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries).OrderByDescending(x=>x.Length).ToArray();
这里有一个排序问题。弄清楚如何将字符串分成单独的单词,然后按长度排序,然后将它们重新组合成一个字符串。
用Char ' '(空格)分隔原始字符串。然后将这些分隔保存在字符串数组中,或者我更喜欢列表。
。
string[] words = s.Split(' ');
然后你可以循环遍历Array/List按Item-Length,显示单词,删除条目,再次循环,…
示例中的结果似乎也是在按长度降序排序之后按字母顺序排序的。下面是一些使用Linq执行两级排序的代码:
string s = "first last middle begin end";
s = string.Join(" ", s.Split(' ').OrderByDescending(item => item.Length).ThenBy(item => item).ToArray());
Console.WriteLine(s);