为了账号安全,请及时绑定邮箱和手机立即绑定

错误:“非静态字段、方法或属性…需要对象引用”。

错误:“非静态字段、方法或属性…需要对象引用”。

C#
红颜莎娜 2019-07-09 15:34:30
错误:“非静态字段、方法或属性…需要对象引用”。我正在用C#创建一个应用程序。它的功能是计算给定的是素数,以及是否相同的交换数也是素数。当我在VisualStudio中构建我的解决方案时,它说“非静态字段、方法或属性需要对象引用.”。我对“volteado”和“siprimo”方法有这个问题。问题在哪里,我如何解决?namespace ConsoleApplication1{     class Program     {         static void Main(string[] args)         {             Console.Write("Write a number: ");             long a= Convert.ToInt64(Console.ReadLine()); // a is the number given by the user             long av = volteado(a); // av is "a" but swapped             if (siprimo(a) == false && siprimo(av) == false)                 Console.WriteLine("Both original and swapped numbers are prime.");             else                 Console.WriteLine("One of the numbers isnt prime.");             Console.ReadLine();         }         private bool siprimo(long a)         {             // Evaluate if the received number is prime             bool sp = true;             for (long k = 2; k <= a / 2; k++)                 if (a % k == 0) sp = false;             return sp;         }         private long volteado(long a)         {             // Swap the received number             long v = 0;             while (a > 0)             {                 v = 10 * v + a % 10;                 a /= 10;             }             return v;         }     }}
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

不能从静态方法访问非静态成员。(请注意,Main()是静态的,这是.NET的要求。只需使siprimo和volteado静态,将静态关键字放在他们前面。例如:

 static private long volteado(long a)


查看完整回答
反对 回复 2019-07-09
?
慕沐林林

TA贡献2016条经验 获得超9个赞

简单地添加static在声明这两种方法时,编译时的错误就会消失!

默认情况下,C#方法中的实例方法,他们接受了隐含的“自我”论点。通过使它们是静态的,不需要(也不需要)这样的参数,该方法当然必须避免访问类的任何实例(非静态)对象或方法。

关于静态方法的更多信息
如果类和方法的访问修饰符(公共和私有)都是正常的,那么可以从任何地方调用静态方法,而不必事先实例化类的一个实例。换句话说,静态方法与以下语法一起使用:

    className.classMethod(arguments)rather than
    someInstanceVariable.classMethod(arguments)

在System.Math类中找到了一个典型的静态方法示例,我们可以调用以下这些方法

   Math.Sqrt(2)
   Math.Cos(Math.PI)

没有实例化“数学”类(事实上,我甚至不知道这样的实例是否可能)


查看完整回答
反对 回复 2019-07-09
  • 3 回答
  • 0 关注
  • 723 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信