c语言里这样写就可以
void fun(int *a, char *b)
{
*a = 1;
*b = h;
}
但是c#里怎么写呢?请附上代码吧谢谢
在C#中让一个函数返回多个值有两种方法可以实现:
第一种是使用指针变量声明函数(或者使用数组变量)第二种是使用传出参数
第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。
第二种方法:我用例子说明。
首先声名一个函数,定义如下
public bool CheckName(string UserName, out string PassWord, Out int State)
{
if ( UserName == "890" )
{
PassWord = "232"; State = 0;
}
else
{
PassWord = ""; State = 1;
}
return false;
}
应用方法如下:
string PassWord = "";
int State = 0;
string UserName = "abc";
bool falg = CheckName(UserName,out PassWord, out State);
这个就可以得到函数CheckUser返回的三个值falg 、PassWord、State在使用out型参数的时候必须事先声明,否则无法使用,可以看作输出参数的初始化。
第一种是使用指针变量声明函数(或者使用数组变量)第二种是使用传出参数
第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。
第二种方法:我用例子说明。
首先声名一个函数,定义如下
public bool CheckName(string UserName, out string PassWord, Out int State)
{
if ( UserName == "890" )
{
PassWord = "232"; State = 0;
}
else
{
PassWord = ""; State = 1;
}
return false;
}
应用方法如下:
string PassWord = "";
int State = 0;
string UserName = "abc";
bool falg = CheckName(UserName,out PassWord, out State);
这个就可以得到函数CheckUser返回的三个值falg 、PassWord、State在使用out型参数的时候必须事先声明,否则无法使用,可以看作输出参数的初始化。
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2017-09-28
void fun(ref int a, ref char b)
{
a=1;
b='h';
}
int c=0, d = 'x';
fun(ref c, ref d);
如上,C#也可以。
C语言可以的一个通过return返回一个通过参数返回,C#也可以道理同上。
C#还可以通过把2个数据组成一个对象,直接return。本回答被提问者和网友采纳
{
a=1;
b='h';
}
int c=0, d = 'x';
fun(ref c, ref d);
如上,C#也可以。
C语言可以的一个通过return返回一个通过参数返回,C#也可以道理同上。
C#还可以通过把2个数据组成一个对象,直接return。本回答被提问者和网友采纳
第2个回答 2012-11-01
函数只能一个返回值,如果要有2个返回值,对于变量返回,必须把2者用特殊符号隔开,作为一个字符串返回值返回,外面再针对这个返回值做分割处理