请问:
List<List<string>> aa=new List<List<string>>(10);
for(int i=0;i<10;i++)
{
   aa.Add(new List<string>());
}
上面的这段程序应该如何理解,aa是怎样的一个集合?第一句不是已经给aa初始化了么,为什么还要用一个for循环?

解决方案 »

  1.   

    aa是一个List<string>的集合
    第一个仅仅是给aa初始化
    里面的元素还是null
      

  2.   


    //参考一下
    class Users
    {
      private string _username;
      private string _password;
      public string Username
      {
        get{return _username;}
        set{_username = value;}
      }
      public string Password
      {
        get{return _password;}
        set{_password = value;}
      }
    }List<Users> list = new List<Users>();
    for(int i=0; i<10; i++)
    {
      Users user = new Users();
      user.Username = i.ToString();
      user.Password = i.ToString()+i.ToString();
      list.Add(user);
    }
      

  3.   

    aa是一个List<string>类型的泛型,
    第一句只是为aa分配内存空间,并没有初始化
    你可以把List<string>看成是一个类型T,即
    List <T> aa=new List <T>(10);
    for(int i=0;i <10;i++)
    {
       aa.Add(new T());
      

  4.   

    把里面的List <string>用Class1代替,就得到如下的效果,这样就能看懂了吧:List <Class1> aa=new List <Class1>(10); 
    for(int i=0;i <10;i++) 

       aa.Add(new Class1()); 
    } 实际上List <string>也就是一个特殊的泛型的类而已。