IList<string[]> purls = anlyse.GetPotoList();
            IList<string[]> tList = new List<string[]>(); //new一个对象
            tList = purls;//将purls的值赋给tlist,  可是这里根本就不执行,无法赋值,在这行加断点的时候根本就跳过去了,直接断到下一行去了
我发现anlyse.GetPotoList()可以执行,并且也返回了值,第一次赋值给其它变量可以,可以第二次赋值却没反应了,太奇怪了。有老鸟知道这是为什么吗?

解决方案 »

  1.   

    要么就是copy要么就是像1楼的那样addrange。你第一个可以行是因为 IList<string[]> purls 只是声明了,但还没分配地址所以直接将anlyse.GetPotoList()地址传给purls 是可行的,但第二个你不但声明了并且已经给他分配地址了不行也是理所当然的了
      

  2.   

    不可能吧            IList<string[]> L = new List<string[]>(); //new一个对象
                L.Add(new string[] { "q d", "aa", "efew" });
                L.Add(new string[] { "q d", "aa", "efew" });
                L.Add(new string[] { "q d", "aa", "efew" });
                IList<string[]> purls = L;
                IList<string[]> tList = new List<string[]>(); //new一个对象
                tList = purls;//
                Console.Write(tList.Count.ToString());  //能输出3
      

  3.   


    1.tList.AddRange()这个方法没有
    2.IList<string[]> tList =pList;这样直接来也不行
    3.为什么断点时,第2条都不执行,直接跳过去了。
    4.但第二个你不但声明了并且已经给他分配地址了           //重新赋值后,应该地址也变了,而不应该没反应。好像这个变量不存在一样。