泛型

由于工作原因,目前我们做项目还一直在用.Net1.1,为了不使自己落后,业余时间用.net做个小东西出来,一方面熟习下语言新东西,另一方面为以后打基础。

.net 2.0推出了"泛型"这一概念,查了些资料说是为了解决类型转化安全性
在我看来,它就是一个ArrayList的代替品,呵呵。。。
我下边写了两个方法可以说话这一点(只是把代码垒出来了,也不知道对不对)
泛型:

public  StorehouseModel[] GetAllStorehouse(Guid userid)
        
{
            
string sql = "SELECT id FROM Storehouse WHERE CreateUser=@uid";
            SqlCommand cmd 
= new SqlCommand(sql);
            cmd.Parameters.Add(DataAccess.CreateSqlParameterUniqueIdentifier(
"@uid", userid));
            List
<StorehouseModel> _sm = new List<StorehouseModel>();
            SqlDataReader dr 
= DataAccess.ExcuteQuery(cmd);
            Guid sid 
= Guid.NewGuid();
            
while (dr.Read())
            
{
                sid 
= (Guid)dr[0];
                _sm.Add(GetModel(sid));
            }

            dr.Close();

            
return (StorehouseModel[])_sm.ToArray();
        }

 

ArrayList:

public  StorehouseModel[] StorehouseModel(Guid userid)
        
{
            
string sql = "SELECT id FROM Storehouse WHERE CreateUser=@uid";
            SqlCommand cmd 
= new SqlCommand(sql);
            cmd.Parameters.Add(DataAccess.CreateSqlParameterUniqueIdentifier(
"@uid", userid));
            System.Collections.ArrayList al 
= new System.Collections.ArrayList();
            SqlDataReader dr 
= DataAccess.ExcuteQuery(cmd);
            Guid sid 
= Guid.NewGuid();
            
while (dr.Read())
            
{
                sid 
= (Guid)dr[0];
                al.Add(GetModel(sid));
            }

            dr.Close();

            
return (StorehouseModel[])al.ToArray(typeof(StorehouseModel));
        }

 

你可能感兴趣的:(泛型)