关于C#函数返回值的概念~感谢
我写了这个没有返回值的函数staticvoidSayHello(inti){if(i>0){Console.WriteLine("好");}elseif(i==0){Co...
我写了这个没有返回值的函数
static void SayHello(int i)
{
if (i > 0)
{
Console.WriteLine("好");
}
else if (i == 0)
{
Console.WriteLine("不知道");
}
else
{
Console.WriteLine("不好");
}
}
比如我用int i=1;来调用 打印出“好” 这不是返回了一个了么 为什么还是个没有返回
值的函数呢 我也可以写成下面的有返回值的函数 我知道这样写 但是就是不理解这个
概念 ~求帮我解释下这个概念 实在感谢~
static string SayHello(int i)
{
if (i > 0)
{
return "好";
}
else if (i == 0)
{
return "不知道";
}
else
{
return "不好";
}
}
我知道定义一个有返回值的函数时 要用return返回值,但是就是不知道什么时候该用有返回值的 什么时候不该用有返回值的函数~谢谢 展开
static void SayHello(int i)
{
if (i > 0)
{
Console.WriteLine("好");
}
else if (i == 0)
{
Console.WriteLine("不知道");
}
else
{
Console.WriteLine("不好");
}
}
比如我用int i=1;来调用 打印出“好” 这不是返回了一个了么 为什么还是个没有返回
值的函数呢 我也可以写成下面的有返回值的函数 我知道这样写 但是就是不理解这个
概念 ~求帮我解释下这个概念 实在感谢~
static string SayHello(int i)
{
if (i > 0)
{
return "好";
}
else if (i == 0)
{
return "不知道";
}
else
{
return "不好";
}
}
我知道定义一个有返回值的函数时 要用return返回值,但是就是不知道什么时候该用有返回值的 什么时候不该用有返回值的函数~谢谢 展开
4个回答
展开全部
public int GetData(int iData)
{
return IData*3;
}
上面就是个带有返回值的方法(之前c/C++叫函数,java 和C#叫方法了),
访问修饰符 类型 名称(参数N)
{
//逻辑代码;
}
调用:int data=GetData(8);
返回:data的值就是:24。
在C#中获取一个函数的返回值:
public static extern int a(string b,out int back);
在 a函数中将获得的值赋给back ,就返回来了,在原函数中back里面的值就是返回值。
函数(function)表示每个输入值对应唯一输出值的一种对应关系。这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素。函数f中对应输入值的输出值x的标准符号为f(x)。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域。若先定义映射的概念,可以简单定义函数为,定义在非空数集之间的映射称为函数。
{
return IData*3;
}
上面就是个带有返回值的方法(之前c/C++叫函数,java 和C#叫方法了),
访问修饰符 类型 名称(参数N)
{
//逻辑代码;
}
调用:int data=GetData(8);
返回:data的值就是:24。
在C#中获取一个函数的返回值:
public static extern int a(string b,out int back);
在 a函数中将获得的值赋给back ,就返回来了,在原函数中back里面的值就是返回值。
函数(function)表示每个输入值对应唯一输出值的一种对应关系。这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素。函数f中对应输入值的输出值x的标准符号为f(x)。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域。若先定义映射的概念,可以简单定义函数为,定义在非空数集之间的映射称为函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实际上Void也是有返回的,抛开编程语言语法细节,我认为任何子函数都是有返回的,只不过它返回的是当前程序计数器 PC (寄存器,你可以参考一下80x86汇编,或者MCS-51汇编),你的代码是看不到返回值的,要是真想看到你去看汇编码吧。
我写一个简短的汇编伪代码描述一下 void SayHello(int i)
......
;//例如i 的值存在R0
MOV R0,#操作数
LCALL SAY_HELLO; //这时候会记录PC
CONTINUE :
;//==================================================
;//比如这是你的函数
SAY_HELLO: //i 的值存在R0
PUSH Rn ;//保护现场
CLR C
CJNE R0,0,NOT_EQUL
SWI "OS_WRITE0" ;如果等于0,引发软中断,输出"不知道"
NOT_EQUL:
JC LESS_THAN
SWI "OS_WRITE0" ;如果大于0,引发软中断,输出"好"
LESS_THAN:
SWI "OS_WRITE0" ;如果小于0,引发软中断,输出"不好"
CLR C
POP Rn
RET ;这里其实返回了PC的下一条指令,CONTINUE处
我写一个简短的汇编伪代码描述一下 void SayHello(int i)
......
;//例如i 的值存在R0
MOV R0,#操作数
LCALL SAY_HELLO; //这时候会记录PC
CONTINUE :
;//==================================================
;//比如这是你的函数
SAY_HELLO: //i 的值存在R0
PUSH Rn ;//保护现场
CLR C
CJNE R0,0,NOT_EQUL
SWI "OS_WRITE0" ;如果等于0,引发软中断,输出"不知道"
NOT_EQUL:
JC LESS_THAN
SWI "OS_WRITE0" ;如果大于0,引发软中断,输出"好"
LESS_THAN:
SWI "OS_WRITE0" ;如果小于0,引发软中断,输出"不好"
CLR C
POP Rn
RET ;这里其实返回了PC的下一条指令,CONTINUE处
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
函数的签名来决定它有没有返回值
static string SayHello(int i)
这里的string表示SayHello(int i)的返回值是string
static void SayHello(int i)
这里的void表示SayHello(int i)的返回值是void,也就是没有返回值。
static string SayHello(int i)
这里的string表示SayHello(int i)的返回值是string
static void SayHello(int i)
这里的void表示SayHello(int i)的返回值是void,也就是没有返回值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询