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

时间:2015-09-06 14:18:11

标签: c#

给定的字符串是first last middle begin end;我应该得到像middle begin first last end

这样的输出

4 个答案:

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