C#倒转名称

时间:2016-05-09 01:51:02

标签: c#

我必须写一个程序,用户输入名称(Aryah Stark等)和otuput一些是Stark,Aryah。我似乎无法弄清楚为什么我的代码不会以这种方式出现。我知道反向。数组方法,但我不知道我是否正确。有人能帮助我吗?

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("How many names do you want to enter? ");
        string name = Console.ReadLine();
        int arraySize = Convert.ToInt32(name);
        string[] LaName = new string[arraySize];
        Array.Reverse(LaName);

        for (int i = 0; i < LaName.Length; i++)
        {
            Console.WriteLine("Enter last name");
            LaName[i] = Console.ReadLine();
        }

        foreach (string val in LaName)
        {
            Console.WriteLine(val + "\t");                
        }

        Console.ReadKey();            
    }        
}

1 个答案:

答案 0 :(得分:3)

Array.Reverse会反转一系列元素。

根据示例,您需要的是翻转字符串中的单词,因此将Split字符串转换为单词,然后使用Array.Reverse来反转数组。

您可以尝试使用这些解决方案中的任何一个,将此逻辑放在for循环中(在读取用户输入之后)。

string[] words = LaName[i].Split(' ');
Array.Reverse(words);
LaName[i] = String.Join(" ", words);

或简单地(.Net 3.5和aboeve)

LaName[i] =String.Join(" ", LaName[i].Split(' ').Reverse());

选中此Example