C#尝试输出字符数组,但顺序相反

C#尝试输出字符数组,但顺序相反,c#,arrays,C#,Arrays,我编写了代码,这样它就可以接收输入、字符串,然后 输出字符串,不做任何更改 显示数组中的字符串,以便将其列出 它将在列表被反转后输出该列表 到目前为止,我的代码已经做到了这一点: string input; int arLENGTH; Console.WriteLine("Enter the string you want to be reversed."); input = Console.ReadLine()

我编写了代码,这样它就可以接收输入、字符串,然后

  • 输出字符串,不做任何更改
  • 显示数组中的字符串,以便将其列出
  • 它将在列表被反转后输出该列表
  • 到目前为止,我的代码已经做到了这一点:

            string input;
            int arLENGTH;
            Console.WriteLine("Enter the string you want to be reversed.");
            input = Console.ReadLine(); 
            
            char[] chars = input.ToCharArray();
            Console.WriteLine("Original string: " + input);
            Console.WriteLine("Character array(Not Reversed):");
            for (int a = 0; a < chars.Length; a++)
            {
                Console.WriteLine(chars[a]);
            }
            arLENGTH = chars.Length;
            Console.WriteLine("Reversed String: ");
            while (arLENGTH > chars.Length)
            {
                Console.WriteLine(chars[arLENGTH]);
                arLENGTH--;
            }
            Console.ReadLine();
    
    字符串输入;
    国际阿伦斯;
    WriteLine(“输入要反转的字符串”);
    input=Console.ReadLine();
    char[]chars=input.ToCharArray();
    Console.WriteLine(“原始字符串:+input”);
    WriteLine(“字符数组(未反转):”;
    for(int a=0;a字符长度)
    {
    Console.WriteLine(chars[arLENGTH]);
    阿伦斯--;
    }
    Console.ReadLine();
    

    当我运行它时,它会输出相反的字符串,然后将其留空。

    如果您将arLENGTH>chars.Length

    也就是说,如果长度是5,那么你说应该放5>5 而arLENGTH>0

    希望你能理解

    ---编辑

    我只是注意到你应该在[length-1]中添加的其他内容

                string input;
                int arLENGTH;
                Console.WriteLine("Enter the string you want to be reversed.");
                input = Console.ReadLine();
    
                char[] chars = input.ToCharArray();
                Console.WriteLine("Original string: " + input);
                Console.WriteLine("Character array(Not Reversed):");
                for (int a = 0; a < chars.Length; a++)
                {
                    Console.WriteLine(chars[a]);
                }
                arLENGTH = chars.Length;
                Console.WriteLine("Reversed String: ");
                while (arLENGTH > 0)
                {
                    Console.WriteLine(chars[arLENGTH - 1]);
                    arLENGTH--;
                }
                Console.ReadLine();
    
    字符串输入;
    国际阿伦斯;
    WriteLine(“输入要反转的字符串”);
    input=Console.ReadLine();
    char[]chars=input.ToCharArray();
    Console.WriteLine(“原始字符串:+input”);
    WriteLine(“字符数组(未反转):”;
    for(int a=0;a0)
    {
    Console.WriteLine(字符[arLENGTH-1]);
    阿伦斯--;
    }
    Console.ReadLine();
    
    问题在于while循环。 您正在分配
    arLENGTH=chars.Length
    然后在
    arLENGTH>chars.Length
    时签入,这将永远不会为真,因为两者都包含相同的值

    更新while循环,以便

    while (arLENGTH > 0)
    {
       Console.WriteLine(chars[arLENGTH-1]);
       arLENGTH--;
    }
    

    对于C#索引运算符,这变得非常简单:

        static void Main(string[] _)
        {
            string input = "my input string";
    
            Console.WriteLine(input);
    
            for (int i = 1; i <= input.Length; ++i)
                Console.Write(input[^i]);
    
            Console.WriteLine();
        }
    
    static void Main(字符串[])
    {
    string input=“我的输入字符串”;
    控制台写入线(输入);
    
    for(int i=1;i为什么不使用
    for
    循环来打印反面,就像您打印正面一样

    您只需要从
    长度-1开始,只要大于或等于零,就可以继续,然后减小该值

    看起来像这样:

    Console.WriteLine("Reversed String:");
    for (int a = (chars.Length - 1); a >= 0; a--)
    {
        Console.WriteLine(chars[a]);
    }
    

    看看这篇帖子:@NolanBradshaw Ty dude,我一直在寻找类似的东西,但我找不到。我通常使用W3Schools,我很确定它不在那里。@NolanBradshaw这个问题的真正答案不是公认的答案。而且有点过时。我尝试过,但我用了不同的方式,所以不起作用。很高兴知道这个问题不过,我当时的做法是正确的。我知道你在模仿他的原作,但你根本不需要字符数组。我只是在纠正他,这是学习的过程,如果他想要索引或其他东西,这是另一个问题,需要学习。他问出了什么问题,几分钟后我指出了什么问题utes我只是通过看来编辑。只是我重复不同是另一个问题,而不是请解决我的家庭作业。(对不起,我的英语)我喜欢它…但语法在我的大脑中仍然看起来很奇怪!=)@Idle_Mind这是不同的。我认为你的答案更清楚,这也是诺兰·布拉德肖在上面的评论中所联系到的答案。有“a-”很明显,你要做的是相反的。但是玩新东西总是很有趣的。@OrkhanAlikhanov,from:“我们正在添加一个类型索引,它可以用于索引。你可以从一个从开始计数的int创建一个,也可以使用一个从结尾计数的前缀^operator创建一个”。或查看该部分。@Idle#Mind谢谢您的详细解释!我很久以前就使用了C#6,从那以后似乎发生了很酷的更新