C#如何在另一个脚本中使用返回值

时间:2016-09-10 23:52:53

标签: c#

谢谢。假设我有两个脚本。

我从一个脚本中的方法获得返回值。

public class ClassA {
    public int A (int a, int b)
    {
        return a + b;
    }
}

我想在另一个脚本中使用返回值(int A):

class ClassB {

    public ClassA _ClassA = new ClassA();
    public int TheReturn;

    public void update()
    {
        TheReturn = _ClassA.A;
    }
}

我是怎么尝试的。它不起作用..

非常感谢你们在TheReturn = _ClassA.A中指出缺乏论据;

如果A的输入是一个读数值(一个不断变化的值,例如SerialPort.Reading(),而不是int a,int b)。我想用实际的"返回"来自ClassA的方法A的值。我该怎么办?

我可以使用print()之类的东西,然后在另一个类中使用Read()吗?

2 个答案:

答案 0 :(得分:0)

你的问题真的很混乱,但也许这就是你要找的东西?

class ClassB 
{

    public ClassA _ClassA = new ClassA();
    public int TheReturn;

    public void update(int x, int y)
    {
        TheReturn = _ClassA.A(x,y);
    }
}

答案 1 :(得分:0)

不要考虑脚本。对于C#,代码是在一个文件中还是在100个文件中分开并不重要。这只是一个组织问题。

你有两个班。

ClassA声明一个方法A,其中包含两个输入参数和一个返回值。

如果要使用此方法,首先需要创建ClassA对象。你是这样做的。到目前为止一切都很好。

然后你必须调用这个方法并传递必需的参数。

ClassA aObject = new ClassA();
int result;

result = aObject.A(2, 7);

您可以通过在方法名称后面和参数列表周围放置一对括号来完成此操作。在此示例中,方法A返回的值存储在变量result中。您现在可以像这样打印

Console.WriteLine(result);

您也可以直接使用结果

Console.WriteLine(aObject.A(2, 7));

实际上,方法调用可以是像

这样的表达式的一部分
Console.WriteLine(aObject.A(2, 7) * aObject.A(3, 9) + 10);

请参阅:Methods (C# Programming Guide)