zoukankan      html  css  js  c++  java
  • 返回动态生成的数组的方法

    今天在写程序时,遇到需要根据数据查询返回的值动态生成数组的方法,.NET中类库中的ArrayList类是可以动态生成数组的类,于是用它写了一个方法大致如下:

    public int[] Get(int ID)
                
    {
                    
    using (SqlConnection conn = new SqlConnection(ConnectionStr))
                    
    {
                        SqlCommand cmd 
    = new SqlCommand();
                        cmd.Connection 
    = conn;
                        cmd.CommandText 
    = "Select * From Table Where ID='"+ID"'";            

                        conn.Open();
                        SqlDataReader rdr 
    = cmd.ExecuteReader();

                        
    int item;
                        ArrayList result 
    = new ArrayList();
                        
    while (rdr.Read())
                        
    {
                            item 
    = rdr.GetInt16(0);
                            result.Add(item);
                        }

                
                        conn.Close();

                        
    if (result.Count > 0)
                        
    {
                            
    int count = result.Count;
                            
    int[] arrResult = new int[count];
                    
                            
    for (int i=0;i<count;i++)
                            
    {
                                arrResult[i] 
    = (int)result[i];
                            }

                            
    return arrResult;
                        }

                    }


                    
    return null;
                }


    这样虽然可以完成我想要的功能,但是在把简单数据类型添加到ArrayList中时都需要装箱,而把ArrayList中的数据取出来赋给int[]的数组元素时则需要拆箱,这样频繁的装箱和拆箱操作会不会降低方法的效率,尤其是返回的数据比较多的情况下,不知道是否有更好的方法?

  • 相关阅读:
    初级程序员面试不靠谱指南(三)
    [细节决定B度]之回首一瞥cout<<"Hello,world"<<endl;
    20110310日记wmh
    SliverLight 控件属性的赋值方式
    20110309wmh日记
    20110308wmh日记
    20110307wmh日记
    STOAdiary20110314完成的任务
    20110313wmh日记
    20110311wmh日记
  • 原文地址:https://www.cnblogs.com/supersand/p/388701.html
Copyright © 2011-2022 走看看