如何在c#中编写代码以按单词大小降序打印给定字符串?

本文关键字:降序 单词大 打印 字符串 代码 | 更新日期: 2023-09-27 18:11:29

给定的字符串是first last middle begin end;我应该得到这样的输出:middle begin first last end ?

如何在c#中编写代码以按单词大小降序打印给定字符串?

这将完成您的工作。分割,然后按长度排序。

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);