在c#中,方法中带不带参数有什么区别,方法中的参数和方法体中的参数有联系吗?
2个回答
展开全部
首先,方法中的参数是在调用此方法时将外部的参数或数值传入方法内使用,如果不需要外部参数或数值也就不需要带参数了;
其次,方法中的参数与方法体中的参数谈不是有什么联系,都是在方法中可以参于计算的,唯一的区别是在方法中的参数可以在外部调用的时候赋值,而方法体中的参数只能在此方法中赋值,楼上有一点说的不大对,就是方法中的参数在方法体内是可以重新赋值计算的,只是修改后的参数值不会被返回到传入的参数上,如果想要将传入的参数在方法内修改后还能将修改后的值返回回方法外参数,需要这样写代码:
public string getStringAndInt(out int num1,int num2)
{
num1++;
num2++;
return num1.ToString() + "_" + num2.ToString();
}
外部调用代码:
int n1 = 0;
int n2 = 0;
string s = getStringAndInt(out n1,n2);
在此后你分别去看各参数有什么变化相信你就会理解是怎么会事了,
我先把结果说一下吧:
调用后的n1为1,n2为0,s为1_1
希望可以帮到你!
其次,方法中的参数与方法体中的参数谈不是有什么联系,都是在方法中可以参于计算的,唯一的区别是在方法中的参数可以在外部调用的时候赋值,而方法体中的参数只能在此方法中赋值,楼上有一点说的不大对,就是方法中的参数在方法体内是可以重新赋值计算的,只是修改后的参数值不会被返回到传入的参数上,如果想要将传入的参数在方法内修改后还能将修改后的值返回回方法外参数,需要这样写代码:
public string getStringAndInt(out int num1,int num2)
{
num1++;
num2++;
return num1.ToString() + "_" + num2.ToString();
}
外部调用代码:
int n1 = 0;
int n2 = 0;
string s = getStringAndInt(out n1,n2);
在此后你分别去看各参数有什么变化相信你就会理解是怎么会事了,
我先把结果说一下吧:
调用后的n1为1,n2为0,s为1_1
希望可以帮到你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询