繁体   English   中英

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

[英]How do I write code in C# to print the given string in the descending order of size of the word

给定的字符串是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(' ');

然后您可以按项目长度循环遍历数组/列表,显示单词,删除条目,再次循环,...

在按长度降序对单词进行排序后,您示例中的结果似乎也按字母顺序排序。 下面是一些使用 Linq 执行两个级别排序的代码:

        string s = "first last middle begin end";
        s = string.Join(" ", s.Split(' ').OrderByDescending(item => item.Length).ThenBy(item => item).ToArray());
        Console.WriteLine(s);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM