定义和调用方法
本文关键字:方法 调用 定义 | 更新日期: 2023-09-27 18:00:27
我是OOP的新手。希望有人能澄清我的疑虑。
如果我想调用类似的方法
int number = numberMethod();
方法定义应该是什么??
public void numberMethod(out int num)
{
num = 3;
}
或
public int numberMethod()
{
int num = 3;
return num;
}
或者两者的定义相同??
如果你试图使用方法的返回值,这就是你在这里所做的:
int number = numberMethod();
那么该方法必须具有一个适当的返回类型——一个可以隐式转换为CCD_ 1的返回类型。不能这样调用void
方法,C#也不会将"具有out
参数和void
返回类型的方法"隐式地视为"具有与out
参数类型匹配的返回类型的方式"。
在具有void
返回类型的方法中包含out
参数是一个非常好的主意。(事实上,使用out
参数IMO相对来说不是一个好主意。它们通常表明单个方法试图做得太多。)
第二个,
因为您调用的方法如下,这意味着您调用的方法会重新运行值
int number = numberMethod();
方法
public int numberMethod()
{
int num = 3;
return num;
}
如果你想使用第一个,你需要称之为
int number ;
numberMethod(out number);
因为您有void返回值,并且在参数中指定out
方法
public void numberMethod(out int num)
{
num = 3;
}
不,它们不是同一种方法,从消息的签名中可以清楚地看出
public int numberMethod() // return as integer
{
int num = 3;
return num;
}
是用于满足您需求的正确方法。
第二种方法
public void numberMethod(out int num)
{
num = 3;
}
也可以使用,但You need to change the way it is invoked
它可以像一样使用
int num;
numberMethod(out num);
两种方法最终将具有相同的效果,即int
0将具有值3
。
只有当需要从method/function
返回多个返回值时,方法中的out
参数才是首选参数。