C#函数参数输出怎么用?
4个回答
展开全部
不清楚是什么意思。
函数(参数){
输出 参数;
}
void getParameter(type para){
print (para);
}
函数(参数){
输出 参数;
}
void getParameter(type para){
print (para);
}
追问
比如
static int i( out int a)
{
}
static void Main(string[] args)
{
}
输出参数a怎么用?
追答
a是事先定义的。c#里的out,让方法更多样化,更灵活了。
这么说。比如说我定义一个变量chicken(鸡),我想通过过程直接让这个chicken变成蛋。就用一个函数
void changeToEgg(out String chicken){
chicken=变成蛋;
}
当执行这个函数后,chicken=egg了。
用?
执行方法之前 print("变化前:"+chicken);
执行方法之后 print("变化后:"+chicken);
不知道你能明白我的意思么。这样的函数,就是把经过一系列的操作,把结果返回给out 后面的变量。
而这个变量是一开始就定义的,当然可以没有初始值。用,就直接当变量用就可以了。
其实out对于很多返回值的情况很好用。
我们知道函数通常只能返回一个类型的值。但用out可以这样.
void useOut(out string a ,out string b,out string c)
{
a=处理(a);
b=处理(b);
c=处理(c);
}
总的来说只是一种用法。和传统的函数的使用有很大差别。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C#输出参数(output parameters):
用 out 修饰符声明的参数是输出参数。输出参数不创建新的存储位置。相反,输出参数表示的是那个在对该函数成员调用中被当作“自变量”的变量所表示的同一个存储位置。因此,输出参数的值总是与基础变量相同。下面的明确赋值规则应用于输出参数。变量在可以作为输出参数在函数成员调用中传递之前不一定要明确赋值。
1、在正常完成函数成员调用之后,每个作为输出参数传递的变量都被认为在该执行路径中已赋值。
2、在函数成员内部,输出参数被视为初始未赋值。
3、函数成员的每个输出参数在该函数成员正常返回前都必须已明确赋值。
4、在结构类型的实例构造函数内部,this 关键字的行为与结构类型的输出参数完全相同
引用参数和输出参数区别:
引用参数在传递之前必须进行初始化,而输出参数传递不需要。两个都可以在内部修改他的值具体什么时候用,ref主要还是对于值类型,out可以处理一个没有初始化的数组。
举例:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void outputparameters(out int m, out int n, ref int z)
{
m = 12;
n = 12;
z++;
}
static void Main(string[] args)
{
int m, n;
int z = 1;
outputparameters(out m, out n, ref z);
Console.WriteLine("m={0},n={1},z={2}",m,n,z);
}
}
/*结果:
x=10,y=20
x=11,y=21
m=12,n=12,z=2
请按任意键继续. . .
*/
用 out 修饰符声明的参数是输出参数。输出参数不创建新的存储位置。相反,输出参数表示的是那个在对该函数成员调用中被当作“自变量”的变量所表示的同一个存储位置。因此,输出参数的值总是与基础变量相同。下面的明确赋值规则应用于输出参数。变量在可以作为输出参数在函数成员调用中传递之前不一定要明确赋值。
1、在正常完成函数成员调用之后,每个作为输出参数传递的变量都被认为在该执行路径中已赋值。
2、在函数成员内部,输出参数被视为初始未赋值。
3、函数成员的每个输出参数在该函数成员正常返回前都必须已明确赋值。
4、在结构类型的实例构造函数内部,this 关键字的行为与结构类型的输出参数完全相同
引用参数和输出参数区别:
引用参数在传递之前必须进行初始化,而输出参数传递不需要。两个都可以在内部修改他的值具体什么时候用,ref主要还是对于值类型,out可以处理一个没有初始化的数组。
举例:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void outputparameters(out int m, out int n, ref int z)
{
m = 12;
n = 12;
z++;
}
static void Main(string[] args)
{
int m, n;
int z = 1;
outputparameters(out m, out n, ref z);
Console.WriteLine("m={0},n={1},z={2}",m,n,z);
}
}
/*结果:
x=10,y=20
x=11,y=21
m=12,n=12,z=2
请按任意键继续. . .
*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哦木有看明白,您是要函数的返回值?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询