c#

位置:IT落伍者 >> c# >> 浏览文章

C#函数的参数返回结构数组


发布日期:2020年03月31日
 
C#函数的参数返回结构数组

头晕脑涨地研究了一天就为了实现C#函数的参数返回结构数组

现供大家分享节省学习时间

C#函数的参数返回结构数组实例:

    ///<summary>

    ///用户信息结构

    ///</summary>

    publicstructTUSER

    {

    publicstringLoginName;

    publicstringLoginPass;

    publicstringTrueName;

    publicstringEMail;

    publicintLevel;

    }

    ///<summary>

    ///获得所有注册用户

    ///</summary>

    ///<paramnameparamname=USERINFO>返回用户信息结构</param>

    publicboolGetUsers(outTUSER[]G_USERINFO)

    {

    USEROPTUSER[]f_TUSER;

    intCurRec=;//初始化记录计数器

    intrec_count=;//计算总记录数

    SqlConnectionmyConn=newSqlConnection(connectionString);

    stringcmd=select*from+m_Table;//SQL查询语句

    SqlCommandmycmd=newSqlCommand(cmdmyConn);

    mycmdConnectionOpen();//打开连接

    SqlDataReaderadr=null;//创建数据读取器

    try

    {

    adr=mycmdExecuteReader();

    while(adrRead())

    {

    rec_count+=;

    }

    myConnClose();//关闭数据库连接

    mycmdConnectionOpen();//打开数据库连接

    try

    {

    adr=mycmdExecuteReader();

    f_TUSER=newUSEROPTUSER[rec_count];

    while(adrRead())

    {

    f_TUSER[CurRec]LoginName=adr[US_LOGINNAME]ToString();

    f_TUSER[CurRec]LoginPass=adr[US_LOGINPASS]ToString();

    f_TUSER[CurRec]TrueName=adr[US_TrueName]ToString();

    f_TUSER[CurRec]EMail=adr[US_EMail]ToString();

    f_TUSER[CurRec]Level=IntParse(adr[US_Level]ToString());

    CurRec+=;

    }

    G_USERINFO=f_TUSER;

    myConnClose();///关闭连接

    returntrue;

    }

    catch

    {

    myConnClose();

    f_TUSER=newUSEROPTUSER[];

    f_TUSER[]LoginName=;

    f_TUSER[]LoginPass=;

    f_TUSER[]TrueName=;

    f_TUSER[]EMail=;

    f_TUSER[]Level=;

    G_USERINFO=f_TUSER;

    returnfalse;

    }

    }

    catch

    {

    myConnClose();

    f_TUSER=newUSEROPTUSER[];

    f_TUSER[]LoginName=;

    f_TUSER[]LoginPass=;

    f_TUSER[]TrueName=;

    f_TUSER[]EMail=;

    f_TUSER[]Level=;

    G_USERINFO=f_TUSER;

    returnfalse;

    }

    /////////////////在WEBFORM中调用如下:

    privatevoidButton_Click(objectsenderSystemEventArgse)

    {

    KSBMUSEROPTUSER[]f_TUSER;//=newKSBMUSEROPTUSER();

    ///为什么不new一个结构数组呢?因为传进来的已是我们要的数据了所以只要开辟一个存储空间就行了

    KSBMUSEROPf_USOP=newKSBMUSEROP();

    boolret=f_USOPGetUsers(outf_TUSER);///调用函数取得结构数组及信息

    if(f_TUSERLength!=)//数据长度为表明无返回数据

    {

    for(intiloop=;iloop<f_TUSERLength;iloop++)///遍历数组并输出到客户端的浏览器

    {

    ResponseWrite(f_TUSER[iloop]LoginName);

    ResponseWrite(f_TUSER[iloop]LoginPass);

    ResponseWrite(f_TUSER[iloop]TrueName);

    ResponseWrite(f_TUSER[iloop]EMail);

    ResponseWrite(f_TUSER[iloop]Level);

    }

    }

以上介绍C#函数的参数返回结构数组

               

上一篇:.NET中带有口令加密的注册页面

下一篇:C#设计模式编程之抽象工厂模式