C#函數的參數返回結構數組
作者:佚名
本文介紹C#函數的參數返回結構數組,包括調用函數,取得結構數組及信息和歷數組并輸出到客戶端的瀏覽器。
頭暈腦漲地研究了一天,就為了實現C#函數的參數返回結構數組。
現供大家分享,節省學習時間。
C#函數的參數返回結構數組實例:
- ///<summary>
- ///用戶信息結構
- ///summary>
- publicstructTUSER
- {
- publicstringLoginName;
- publicstringLoginPass;
- publicstringTrueName;
- publicstringEMail;
- publicintLevel;
- }
- ///<summary>
- ///獲得所有注冊用戶
- ///summary>
- ///<paramnameparamname="USERINFO">返回用戶信息結構param>
- publicboolGetUsers(outTUSER[]G_USERINFO)
- {
- USEROP.TUSER[]f_TUSER;
- intCurRec=0;//初始化記錄計數器
- intrec_count=0;//計算總記錄數
- SqlConnectionmyConn=newSqlConnection(connectionString);
- stringcmd="select*from"+m_Table;//SQL查詢語句
- SqlCommandmycmd=newSqlCommand(cmd,myConn);
- mycmd.Connection.Open();//打開連接
- SqlDataReaderadr=null;//創建數據讀取器
- try
- {
- adr=mycmd.ExecuteReader();
- while(adr.Read())
- {
- rec_count+=1;
- }
- myConn.Close();//關閉數據庫連接
- mycmd.Connection.Open();//打開數據庫連接
- try
- {
- adr=mycmd.ExecuteReader();
- f_TUSER=newUSEROP.TUSER[rec_count];
- while(adr.Read())
- {
- 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=Int32.Parse(adr["US_Level"].ToString());
- CurRec+=1;
- }
- G_USERINFO=f_TUSER;
- myConn.Close();///關閉連接
- returntrue;
- }
- catch
- {
- myConn.Close();
- f_TUSER=newUSEROP.TUSER[1];
- f_TUSER[0].LoginName="";
- f_TUSER[0].LoginPass="";
- f_TUSER[0].TrueName="";
- f_TUSER[0].EMail="";
- f_TUSER[0].Level=0;
- G_USERINFO=f_TUSER;
- returnfalse;
- }
- }
- catch
- {
- myConn.Close();
- f_TUSER=newUSEROP.TUSER[1];
- f_TUSER[0].LoginName="";
- f_TUSER[0].LoginPass="";
- f_TUSER[0].TrueName="";
- f_TUSER[0].EMail="";
- f_TUSER[0].Level=0;
- G_USERINFO=f_TUSER;
- returnfalse;
- }
- /////////////////在WEBFORM中調用如下:
- privatevoidButton3_Click(objectsender,System.EventArgse)
- {
- KSBM.USEROP.TUSER[]f_TUSER;//=newKSBM.USEROP.TUSER();
- ///為什么不"new"一個結構數組呢?因為傳進來的已是我們要的數據了,所以只要開辟一個存儲空間就行了.
- KSBM.USEROPf_USOP=newKSBM.USEROP();
- boolret=f_USOP.GetUsers(outf_TUSER);///調用函數,取得結構數組及信息
- if(f_TUSER.Length!=0)//數據長度為0時,表明無返回數據.
- {
- for(intiloop=0;iloop<f_TUSER.Length;iloop++)///遍歷數組并輸出到客戶端的瀏覽器
- {
- Response.Write(f_TUSER[iloop].LoginName);
- Response.Write(f_TUSER[iloop].LoginPass);
- Response.Write(f_TUSER[iloop].TrueName);
- Response.Write(f_TUSER[iloop].EMail);
- Response.Write(f_TUSER[iloop].Level);
- }
- }
以上介紹C#函數的參數返回結構數組
【編輯推薦】
責任編輯:佚名
來源:
比特網