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[]的数组元素时则需要拆箱,这样频繁的装箱和拆箱操作会不会降低方法的效率,尤其是返回的数据比较多的情况下,不知道是否有更好的方法?

  • 相关阅读:
    数据持久化
    在职场久了,才知道这样安排工作日程,方能实现真正的高效
    HIS系统-如何设置单病种结算方式
    HIS系统-你给我制作一个二级库吧!
    开机的一篇英文是怎么回事呢?
    系统故障之-冲动360
    每天看一遍你潦倒至今的原因
    如何配置给自己配置一台适合自己的台式机
    如何配置给自己配置一台电脑
    单网卡、双网卡如何实现同时上内网和外网
  • 原文地址:https://www.cnblogs.com/supersand/p/388701.html
Copyright © 2011-2022 走看看