我正在尝试插入一个词,想知道它是否是一个 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/