熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#函數的參數返回結構數組

2013-11-13 09:54:21  來源: .NET編程 

  頭暈腦漲地研究了一天就為了實現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#函數的參數返回結構數組


From:http://tw.wingwit.com/Article/program/net/201311/11930.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.