Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多种方法中使用变量_C#_Variables_Methods - Fatal编程技术网

C# 在多种方法中使用变量

C# 在多种方法中使用变量,c#,variables,methods,C#,Variables,Methods,我试图在我的每个方法中使用我的三个变量(num1、num2和oper),但在我的书或互联网上找不到这样做的方法。我意识到在我的程序准备好之前还有很多事情要做,我会在学习的过程中把它清理干净。现在我只需要知道将变量导入不同方法的代码,我不需要修改或改进代码。我希望这是有道理的,我对这很陌生,所以请原谅我的无知并容忍我。非常感谢您的阅读 public class SimpleCalc { public double SimpleCalc(double num1, double num2, s

我试图在我的每个方法中使用我的三个变量(num1、num2和oper),但在我的书或互联网上找不到这样做的方法。我意识到在我的程序准备好之前还有很多事情要做,我会在学习的过程中把它清理干净。现在我只需要知道将变量导入不同方法的代码,我不需要修改或改进代码。我希望这是有道理的,我对这很陌生,所以请原谅我的无知并容忍我。非常感谢您的阅读

public class SimpleCalc
{
    public double SimpleCalc(double num1, double num2, string oper)
    {
        Console.Write("Enter first integer: ");
        num1 = Convert.ToDouble(Console.ReadLine());

        Console.Write("Enter operator (+,-,*, / or %)");
        oper = Convert.ToString(Console.ReadLine());

        Console.Write("Enter second integer: ");
        num2 = Convert.ToDouble(Console.ReadLine());

        if (oper == "+");
        return addNumbers();

        if (oper == "-");
        return subtractNumbers();

        if (oper == "*");
        return multiplyNumbers;

        if (oper == "/");
        return divideNumbers;
    }

    public double addNumbers()
    {
        Console.Write("The answer is: ", num1 + num2);
    }

    public double subtractNumbers()
    {
        Console.Write("The answer is: ", num1 - num2);
    }

    public double multiplyNumbers()
    {
        Console.Write("The answer is: ", num1 * num2);
    }

    public double divideNumbers()
    {
        Console.Write("The answer is: ", num1 / num2);
    }
}

简单地将它们声明为参数的最简单方法是:

public double addNumbers(double num1, double num2)
{
    return num1 + num2;
}

public double subtractNumbers(double num1, double num2)
{
    return num1 - num2;
}

public double multiplyNumbers(double num1, double num2)
{
    return num1 * num2;
}

public double divideNumbers(double num1, double num2)
{
    return num1 / num2;
}
并将参数传递给其他函数,如下所示:

if (oper == "+")
    return addNumbers(num1, num2);

if (oper == "-")
    return subtractNumbers(num1, num2);

if (oper == "*")
    return multiplyNumbers(num1, num2);

if (oper == "/")
    return divideNumbers(num1, num2);
请注意,我修改了您的方法,因为它们需要返回一个值。我还修改了
if
语句,因为每个条件后面都有一个分号,这实际上会导致一个空的条件,然后是一个立即的、无条件的返回


但是,如果您确实需要在类中存储状态变量并在多个方法中重用它们,则应使用or(通常由字段支持)。

如果您的
不做任何事情,则应使用or;您应该删除
在他们之后,否则它只意味着
如果(条件)那么(空指令)
在你之前关于同一主题的问题中没有任何帮助?@Steve我没有问过关于这个主题的问题,几天前我在参数方面遇到了一个问题,但那是一个完全不同的情况。部门应该适应num2为零的情况。