c# - 如何在 C# 中比较 char[]array 以了解病房是否为回文

标签 c# string

我正在尝试插入一个词,想知道它是否是一个 polidrom。 Polidrom 是一个词,如果你把它写反了,没有任何变化,比如: 1234321 = 反转 1234321 abcddcba = 反转 abcddcba 我写了一段代码,但我不知道出了什么问题。 感谢您的帮助。

  static void Puolidrom(string word)
        {
            string ya = word;
            string ba = word;
            char[] stcArr = ya.ToCharArray();
            char[] stcArr2 = ba.ToCharArray();
            Array.Reverse(stcArr);
            if (stcArr==stcArr2)
            {
                Console.WriteLine("poly");
            }
            else
            {
                Console.WriteLine("Isn't");
            }
        }

最佳答案

在您的代码中,您尝试检查一个数组是否与另一个数组相同,但您检查的是引用 (==) 而不是数组元素。更好的方法是检查字符串和反转字符串是否相同

使用函数反转字符串

public static string Reverse( string s )
{
 char[] charArray = s.ToCharArray();
 Array.Reverse( charArray );
 return new string( charArray );
}

然后使用它:

if(word.Equals(Reverse(word)))
{
    //palindrom
}
else
{
   //not
}

关于c# - 如何在 C# 中比较 char[]array 以了解病房是否为回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32550803/

相关文章:

php - 如何用 PHP 中的特殊字符替换特殊字符?

c# - .Net 中的方法重载成本

c# - 在 db40 (.net) 中处理大型集合

c# - MVC 提交按钮未触发

c# - 在我的 winform 应用程序中获取 rdlc 报告的相对路径

java - 如何在 Java 中反转数组?

c# - 使用 Authorize.Net 中的客户 ID 获取 customerProfileId

c - 如何省略字符串中的空格

string - Lua:String.match vs String.gmatch?

javascript - 如何替换 JavaScript 中所有出现的字符串?