国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

在C#中如何在函數參數中返回結構數組?

2024-07-21 02:25:38
字體:
來源:轉載
供稿:網友

頭暈腦漲地研究了一天,就為了實現在函數的參數中返回結構數組。

現供大家分享,節省學習時間。

實例:
  /// <summary>
  /// 用戶信息結構
  /// </summary>
  public struct tuser
  {
   public string loginname;
   public string loginpass;
   public string truename;
   public string email;
   public int level;
  }

  /// <summary>
  /// 獲得所有注冊用戶
  /// </summary>
  /// <param name="userinfo">返回用戶信息結構</param>
  public bool getusers(out tuser[] g_userinfo)
   {
   userop.tuser[] f_tuser;
   int currec = 0;  //初始化記錄計數器
   int rec_count =0; //計算總記錄數
   sqlconnection myconn = new sqlconnection(connectionstring);
   string cmd="select * from " +m_table;  //sql查詢語句
   sqlcommand mycmd=new sqlcommand(cmd,myconn);
   mycmd.connection.open(); //打開連接
   sqldatareader adr = null; //創建數據讀取器
   try
   {
    adr = mycmd.executereader();
    while(adr.read ())
    {
     rec_count += 1;
    }
    myconn.close();  //關閉數據庫連接
    mycmd.connection.open (); //打開數據庫連接
    try
    {
     adr = mycmd.executereader ();
     f_tuser = new userop.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 (); ///關閉連接
     return true;
    }
    catch
    {
     myconn.close();
     f_tuser = new userop.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;
     return false;
    }
   }
   catch
   {
    myconn.close ();
    f_tuser = new userop.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;
    return false;
   }


///////////////// 在web form中調用如下:
  private void button3_click(object sender, system.eventargs e)
  {
   ksbm.userop.tuser[] f_tuser; // = new ksbm.userop.tuser(); ///為什么不"new" 一個結構數組呢?因為傳進來的已是我們要的數據了,所以只要開辟一個存儲空間就行了.
   ksbm.userop f_usop = new ksbm.userop();
   bool ret=f_usop.getusers (out f_tuser); ///調用函數,取得結構數組及信息
   if(f_tuser.length !=0) //數據長度為0時,表明無返回數據.
   {
    for(int iloop=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);
    }
   }
  }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沭阳县| 巨鹿县| 腾冲县| 德钦县| 伊川县| 泸西县| 保德县| 南丰县| 理塘县| 冀州市| 吉安县| 临朐县| 永年县| 阿克陶县| 剑川县| 洱源县| 章丘市| 同江市| 突泉县| 邻水| 固镇县| 墨脱县| 灵丘县| 闽清县| 北流市| 如皋市| 耿马| 阳东县| 个旧市| 乐业县| 定陶县| 巴彦县| 迁安市| 英吉沙县| 沙河市| 温宿县| 巨鹿县| 郯城县| 鲜城| 鄂托克前旗| 建始县|