我必须写一个程序,用户输入名称(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();
}
}
答案 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