C# 一条关于“的错误消息正在抛出”;无法在静态类中声明实例成员;在塔玛林工作室
我正在尝试用C#创建一个控制台二次计算器。 但是错误“访问非静态成员需要对象引用” 在带有变量“A”、“B”和“C”的行上; 但是,当我向MainClass添加static时, Xamarin Studio告诉我“不能在静态类中声明实例成员” 我已经到了放弃尝试解决这个问题的地步了 如果您能告诉我在哪里更改代码以及为什么不起作用,我将不胜感激C# 一条关于“的错误消息正在抛出”;无法在静态类中声明实例成员;在塔玛林工作室,c#,methods,compiler-errors,C#,Methods,Compiler Errors,我正在尝试用C#创建一个控制台二次计算器。 但是错误“访问非静态成员需要对象引用” 在带有变量“A”、“B”和“C”的行上; 但是,当我向MainClass添加static时, Xamarin Studio告诉我“不能在静态类中声明实例成员” 我已经到了放弃尝试解决这个问题的地步了 如果您能告诉我在哪里更改代码以及为什么不起作用,我将不胜感激 using System; namespace CsharpConceptsCrashCourse { class MainClass { do
using System;
namespace CsharpConceptsCrashCourse
{
class MainClass
{
double A, B, C;
public static void Main (string[] args)
{
Begin ();
Console.WriteLine("Root 1 : {0}, Root 2: {1}",
QRoot(A,B,C,"NEG"),QRoot(A,B,C,"POS"));
Console.ReadKey ();
}
public static double QRoot(double a,double b,double c, string VL){
double top = Math.Pow (b, 2) - (4 * a * c);
if (VL == "POS") {
double topf = (-1 * (b)) + Math.Sqrt (top);
return (topf / (2 * a));
} else{
double topf = (-1 * (b)) - Math.Sqrt (top);
return (topf / (2 * a));
}
}
public static void Begin(){
Console.WriteLine ("Welcome to the quadratic calculator:");
Console.WriteLine ("Enter your three values for \na , b, and c \nfrom the standard format");
Console.WriteLine ("A:");
A = Convert.ToDouble (Console.ReadLine ());
Console.WriteLine ("B:");
B = Convert.ToDouble (Console.ReadLine ());
Console.WriteLine ("C:");
C = Convert.ToDouble (Console.ReadLine ());
}
}
}此错误的原因是您的
Main
方法是static
:
public static void Main (string[] args)
{
...
}
在该静态方法中,您尝试访问非静态成员:
这是不可能的,因为只能通过类的实例访问非静态实例成员。因此,最直接的解决方案是将这些成员也声明为静态的:
class MainClass
{
static double A, B, C;
...
}
此错误的原因是您的
Main
方法是static
:
public static void Main (string[] args)
{
...
}
在该静态方法中,您尝试访问非静态成员:
这是不可能的,因为只能通过类的实例访问非静态实例成员。因此,最直接的解决方案是将这些成员也声明为静态的:
class MainClass
{
static double A, B, C;
...
}