您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“C#函數(shù)的參數(shù)怎么返回結(jié)構(gòu)數(shù)組”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
頭暈?zāi)X漲地研究了一天,就為了實(shí)現(xiàn)C#函數(shù)的參數(shù)返回結(jié)構(gòu)數(shù)組。
現(xiàn)供大家分享,節(jié)省學(xué)習(xí)時間。
C#函數(shù)的參數(shù)返回結(jié)構(gòu)數(shù)組實(shí)例:
///<summary> ///用戶信息結(jié)構(gòu) ///summary> publicstructTUSER { publicstringLoginName; publicstringLoginPass; publicstringTrueName; publicstringEMail; publicintLevel; } ///<summary> ///獲得所有注冊用戶 ///summary> ///<paramnameparamname="USERINFO">返回用戶信息結(jié)構(gòu)param> publicboolGetUsers(outTUSER[]G_USERINFO) { USEROP.TUSER[]f_TUSER; intCurRec=0;//初始化記錄計數(shù)器 intrec_count=0;//計算總記錄數(shù) SqlConnectionmyConn=newSqlConnection(connectionString); stringcmd="select*from"+m_Table;//SQL查詢語句 SqlCommandmycmd=newSqlCommand(cmd,myConn); mycmd.Connection.Open();//打開連接 SqlDataReaderadr=null;//創(chuàng)建數(shù)據(jù)讀取器 try { adr=mycmd.ExecuteReader(); while(adr.Read()) { rec_count+=1; } myConn.Close();//關(guān)閉數(shù)據(jù)庫連接 mycmd.Connection.Open();//打開數(shù)據(jù)庫連接 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();///關(guān)閉連接 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中調(diào)用如下: privatevoidButton3_Click(objectsender,System.EventArgse) { KSBM.USEROP.TUSER[]f_TUSER;//=newKSBM.USEROP.TUSER();///為什么不"new"一個結(jié)構(gòu)數(shù)組呢?因?yàn)閭鬟M(jìn)來的已是我們要的數(shù)據(jù)了,所以只要開辟一個存儲空間就行了. KSBM.USEROPf_USOP=newKSBM.USEROP(); boolret=f_USOP.GetUsers(outf_TUSER);///調(diào)用函數(shù),取得結(jié)構(gòu)數(shù)組及信息 if(f_TUSER.Length!=0)//數(shù)據(jù)長度為0時,表明無返回數(shù)據(jù). { for(intiloop=0;iloop<f_TUSER.Length;iloop++)///遍歷數(shù)組并輸出到客戶端的瀏覽器 { 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#函數(shù)的參數(shù)怎么返回結(jié)構(gòu)數(shù)組”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。