日期:2014-05-18  浏览次数:21051 次

C#函数中如何返回多个返回值?
C#函数中如何返回多个返回值,并且多个返回值的类型不一样,返回结构体什么的,具体要怎么写?
给个例子哦。

------解决方案--------------------
struct sRes
{
string m_strName;
int m_nOld;
bool m_bSex;
}

clase temple
{

sRes Function1()
{
sRes a = new sRes();
return a;
}

void Function2(ref sRes b)
{
sRes.m_strName = "";
sRes.m_nOld = 10;
sRes.m_bSex = true;
}
}
------解决方案--------------------
以下内容转载,也就是抄的
没验证
有两种方法:1.使用指针变量声明函数(或者使用数组变量)2.使用传出参数

第一种方法:函数返回的是一个指针地址(数组地址),这个内存地址有多个变量寄存在里面。这个方法我不太会用,传地址传值我常常搞的淅沥糊涂。

第二种方法:我用例子说明。

首先声名一个函数,定义如下

public bool CheckUser(string UserName, out string PassWord, Out int State)
{
if ( UserName == "123" )
{
PassWord = "456";
State = 0;
}
else
{
PassWord = "";
State = 1;
}
return false;
}

应用方法如下:

string PassWord = "";
int State = 0;
string UserName = "abc";
bool falg = CheckUser(UserName,out PassWord, out State);

这个就可以得到函数CheckUser返回的三个值falg 、PassWord、State

在使用out型参数的时候必须事先声明,否则无法使用,可以看作输出参数的初始化


------解决方案--------------------
int a=0,b=0,c=0; 
fun(ref int a, ref string b, ref object c)'
刚刚写错不好意思
------解决方案--------------------
用ref关键字的参数