当前位置:编程学习 > C#/ASP.NET >>

C# 同名变量如队列覆盖问题

 static void Main(string[] args)
        {
            List<List<byte>> queue = new List<List<byte>>();
            List<byte> com = new List<byte>();
         
            com.Add(0X01);
            com.Add(0X02);
            queue.Add(com);      
            com.Clear();
            com.Add(0X03);
            com.Add(0X04);
            queue.Add(com);
            for (int i = 0; i < queue.Count; i++)
            {
                List<byte> temp = queue[i];
                for (int j = 0; j < temp.Count; j++)
                {
                    Console.Write("{0}", temp[j]);
                }
            }
          }
结果0X01和0x02被覆盖了,输出结果是3434,这是怎么回事啊?求救啊!!!!! --------------------编程问答-------------------- 不存在什么覆盖...集合是引用类型,com.Clear()就把以前的都清除了...

去了解一下引用类型是什么,再去了解一下什么是浅表复制什么是深复制... --------------------编程问答--------------------
引用 1 楼 vrhero 的回复:
不存在什么覆盖...集合是引用类型,com.Clear()就把以前的都清除了...

去了解一下引用类型是什么,再去了解一下什么是浅表复制什么是深复制...

高手咦 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 1 楼 vrhero 的回复:
不存在什么覆盖...集合是引用类型,com.Clear()就把以前的都清除了...

去了解一下引用类型是什么,再去了解一下什么是浅表复制什么是深复制...
说详细点好不大侠
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,