我的程序怎么了?
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
bool check = isPowerOfTwo(255);
Console.WriteLine(check);
Console.ReadKey();
}
public bool isPowerOfTwo (uint x)
{
while (((x % 2) == 0) && x > 1)
{
x /= 2;
}
return (x == 1);
}
}
}
我有错误
非静态字段,方法或属性需要对象引用。
最佳答案
使方法isPowerOfTwo
静态:
public static bool isPowerOfTwo (uint x)
方法
Main
是静态的,因此您只能在其中调用同一类的静态方法。但是,当前的isPowerOfTwo
是实例方法,只能在Program
类的实例上调用。当然,您也可以在Program
内创建Main
类的实例并调用它的方法,但这似乎是一个开销。关于c# - 在C#中检查整数是否为2的幂,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17418676/