国产探花免费观看_亚洲丰满少妇自慰呻吟_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);
    }
   }
  }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 信丰县| 岢岚县| 新野县| 赤峰市| 阳泉市| 临武县| 思南县| 长阳| 彭阳县| 清流县| 会理县| 东阿县| 利津县| 拉萨市| 绥滨县| 日照市| 枝江市| 宽甸| 依安县| 汉川市| 嵊州市| 麻栗坡县| 永修县| 阿合奇县| 忻城县| 永兴县| 开江县| 同仁县| 安陆市| 乾安县| 远安县| 久治县| 青阳县| 黄陵县| 丹阳市| 南召县| 无极县| 日喀则市| 宜宾县| 九江市| 新巴尔虎左旗|