我对C#很陌生,我正在制作一个小应用程序来检查控制台的输入是否是回文.我自己走得很远,但是我遇到了一个错误.
码:
class Program
{
static void Main(string[] args)
{
string str;
Console.WriteLine("Voer uw woord in:");
str = Console.ReadLine();
if (isPalindroom(str) == true)
{
Console.WriteLine(str + " is een palindroom");
}
else
{
Console.WriteLine(str + " is geen palindroom");
}
}
bool isPalindroom(String str)
{
string reversedString = "";
for (int i = str.Length - 1; i >= 0; i--)
{
reversedString += str[i];
}
if (reversedString == str)
{
return true;
}
else
{
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
错误1非静态字段,方法或属性"ConsoleApplication2.Program.isPalindroom(string)" 快照需要对象引用 17 17 ConsoleApplication2
这是在:
if (isPalindroom(str) == true)
Run Code Online (Sandbox Code Playgroud)
如果你能帮我一点,我会很高兴:)
只需static在您的isPalindroom方法中添加修饰符即可.
如果不这样做,isPalindroom将是一个"实例"方法,可以在Program实例上调用.
简单来说,因为你没有类型的变量Program(main方法本身是静态的),所以你不能调用非静态方法.
可以在类型本身(Program.isPalydroom(xxx)或从类中的任何其他方法)调用静态方法.