无法访问多个全局变量

时间:2016-03-11 18:50:01

标签: c# variables console main public

这是一个基本的计算器。错误发生在名为printResult的最后一个方法上。我无法将num1, num2, operadorresultado设置为全局。我可以访问课程printResult上的Calculadora但我无法从Calculadora方法访问课程printResult的变量。

using System;

namespace supercalc
{
    public class calculadora
    {
        public static void  Main (string [] args)
        {
            float num1;
            float num2;
            string operador;
            float resultado;

            Console.Clear();

            Console.WriteLine("Insira o primeiro número");
num1 = int.Parse(Console.ReadLine());
Console.WriteLine("Insira o segundo número ");
num2 = int.Parse(Console.ReadLine());
Console.WriteLine("Insira o operador");
operador = Console.ReadLine();

switch(operador)
{
case "+":
resultado = num1 + num2;
automatizar.printResult();
break;
case "-" :
resultado = num1 - num2;
automatizar.printResult();
break;
case "*":
resultado = num1 * num2;
automatizar.printResult();
break;
case "/":
resultado = num1 / num2;
automatizar.printResult();
break;
default:
break;
}//END SWITCH

Console.WriteLine("Press any key to leave...");
Console.ReadKey();
}//END VOID MAIN
}//END CLASS CALCULADORA

public class automatizar
{
public  static void printResult()

{

    Console.WriteLine(supercalc.calculadora.num1 + calculadora.operador +calculadora.num2 + " é " + calculadora.resultado);
    //ERROR ON PREVIOUS LINE OF CODE : supercalc.calculadora doesnt have a definition for num1, operador, num2 and resultado
    //HELP
    //I CANT SET THEM AS GLOBAL!
}

}

}//END NAMESPACE

1 个答案:

答案 0 :(得分:2)

您提到的变量不是“全局”,它们是Main()

的本地变量
public static void  Main (string [] args)
{
    float num1;
    float num2;

您无法从其他功能访问它们。使它们可访问的最直接方法是使它们成为静态类字段

private static float num1;
private static float num2;
public static void  Main (string [] args)
{