C#为什么函数要有返回值?
一直对函数返回值这个概念模糊,不知道是什么意思...求能详细讲下...在什么情况下要有返回值,什么情况下不要......
一直对函数返回值这个概念模糊,不知道是什么意思...求能详细讲下...
在什么情况下要有返回值,什么情况下不要... 展开
在什么情况下要有返回值,什么情况下不要... 展开
8个回答
展开全部
C#不叫函数 叫方法。
假如是控制台的应用程序有个Main()的入口的
static void Main()
{
int a=2;
int i=GetInt(a);//传入a参数 i 就等于GetInt方法返回的值
Console.Write(i);
}
private void GetInt(int m)//这里的m就是方法的参数 也就是你在main()里传过来a的值
{
int b=m+1;
return b;//返回b的值 main()里的i就相当于 a+1=3
}
只是举个简单的例子
大致就是这样
假如是控制台的应用程序有个Main()的入口的
static void Main()
{
int a=2;
int i=GetInt(a);//传入a参数 i 就等于GetInt方法返回的值
Console.Write(i);
}
private void GetInt(int m)//这里的m就是方法的参数 也就是你在main()里传过来a的值
{
int b=m+1;
return b;//返回b的值 main()里的i就相当于 a+1=3
}
只是举个简单的例子
大致就是这样
展开全部
这个东西 我感觉 好说,但对初学者不好理解。
public int GetData(int iData)
{
return IData*3;
}
上面就是个带有返回值的方法(之前c/C++叫函数,java 和C#叫方法了),
楼主需要注意的是方法是由哪些构成的:
访问修饰符 类型 名称(参数N)
{
//逻辑代码;
}
调用:int data=GetData(8);
返回:data的值就是:24。
至于什么情况下用,什么情况下不用。这个就具体情况,具体分析了。
多看看有关方面的知识吧。
祝:好运。
public int GetData(int iData)
{
return IData*3;
}
上面就是个带有返回值的方法(之前c/C++叫函数,java 和C#叫方法了),
楼主需要注意的是方法是由哪些构成的:
访问修饰符 类型 名称(参数N)
{
//逻辑代码;
}
调用:int data=GetData(8);
返回:data的值就是:24。
至于什么情况下用,什么情况下不用。这个就具体情况,具体分析了。
多看看有关方面的知识吧。
祝:好运。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是方法的返回值,方法用于实现功能,一些功能可以直接实现,方法执行后就结束了;但很多功能和其他命令相联系的,如计算方法,在计算结束后的结果要传到有需要的地方,方法调用完成后,方法的结果无法获取,所以需要通过返回值来控制方法的计算结果,得到计算结果值;如果没有返回值,则方法执行完了,但没那个结果。 ----------------小白理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ref必须初始化,因为是引用,所以必须先有才能引用,而out则是内部为外部赋值,所以不需要初始化,而且初始化也没有用。
ref为内部对外部的值进行改变,out则是内部为外部变量进行赋值,out一般用在函数有多个返回值的场景。
class Program
{
static void Main(string[] args)
{
int age = 20;
IncAge(ref age);
Console.WriteLine("REF后年龄是:{0}", age);
IncAge1(out age);
Console.WriteLine("OUT后年龄是:{0}", age);
Console.ReadKey();
}
static void IncAge(ref int Age)
{
Age++;
}
static void IncAge1(out int Age)
{
Age = 20;
Age++;
}
}
ref为内部对外部的值进行改变,out则是内部为外部变量进行赋值,out一般用在函数有多个返回值的场景。
class Program
{
static void Main(string[] args)
{
int age = 20;
IncAge(ref age);
Console.WriteLine("REF后年龄是:{0}", age);
IncAge1(out age);
Console.WriteLine("OUT后年龄是:{0}", age);
Console.ReadKey();
}
static void IncAge(ref int Age)
{
Age++;
}
static void IncAge1(out int Age)
{
Age = 20;
Age++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-10-11
展开全部
如果你要用到返回值的时候就需要,不用的话有没有返回值就无所谓了
例如:1、private String A(String msg) 是获取字符串中所有大写字母,实际上你获取了是要去其它地方用的,就需要返回了,当然用的参数是引用类型的话不返回也可以。
2、private void ClearData()假设这是清除当前表格的内容,里面清除是否成功清除了哪些东西不管的话 就可以没有返回值了。
例如:1、private String A(String msg) 是获取字符串中所有大写字母,实际上你获取了是要去其它地方用的,就需要返回了,当然用的参数是引用类型的话不返回也可以。
2、private void ClearData()假设这是清除当前表格的内容,里面清除是否成功清除了哪些东西不管的话 就可以没有返回值了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询