将完全小写/上写字符数组转换回用户输入

本文关键字:转换 数组 输入 用户 字符 | 更新日期: 2023-09-27 18:32:11

我在c#上做了一个回文程序。为了消除区分大小写,我必须将输入完全转换为小写(或大写)。现在,当我打印反向数组时,我希望恢复区分大小写。例如,如果输入=女士,我希望反向=女士。现在我知道我可以从输入中创建一个新的字符数组,我已经这样做了。但我想以某种方式操纵下不变数组。我知道我的代码的 Upper 方法不起作用,因为数组被转换为小写。

using System;
using System.Linq;
public class Palindrome
 {
   public static void Main(string [] args)
   {
      string input = Console.ReadLine();
      string lower = input.ToLowerInvariant();
      char[] array = lower.ToCharArray();
      Array.Reverse(array);
      Upper(array, input);
      Console.WriteLine("'nPalindrome: {0}", array.SequenceEqual(lower));
      Console.ReadKey();
   }
   public static void Upper(char[] array, string input)
   {
      for (int i = 0; i < array.Length; i++)
      {
         if (Input's [i] char is Upper) => Not sure how to put this as a code.
            array[i] = Char.ToUpper(array[i]);
      }
      Console.WriteLine("Reverse array :");
      for (int i = 0; i < array.Length; i++)
         Console.Write("{0}", array[i]);
   }
}

将完全小写/上写字符数组转换回用户输入

这应该可以做你想要的:

public static void Upper(char[] array, string input)
{
    Console.WriteLine("Reverse array :");
    Console.Write(new string(input.AsEnumerable().Reverse().ToArray()));
}

无需担心小写数组,只需反转原始输入并从反转字符中创建一个新字符串即可。