您的位置:首页 > 其它

List的add方法剖析

2016-04-21 16:01 309 查看
Class1:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace new一个实例

{

    public class Class1

    {

        public int i { get; set; }

    }

}            

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace new一个实例

{

    class Program

    {

        static void Main(string[] args)

        {

            //var c2=new List<Class1>();

            //Class1 c1 = new Class1();

            //for (int i = 0; i < 100; i++)

            //{

               

            //    c1.i = i;

            //    c2.Add(c1);

            //}

            //foreach (var c in c2)

            //{

            //      Console.WriteLine(c.i.ToString());

            //}

            //---------------------------------

            //var c2 = new List<Class1>();

            //Class1 c1 = new Class1();

            //for (int i = 0; i < 100; i++)

            //{

            //    c1.i = i;

            //    c2.Add(c1);

            //}

            //foreach (var c in c2)

            //{

            //    Console.WriteLine(c.i.ToString());

            //}

            Console.ReadKey();

        }

    }

}

两段代码输出结果理解list的add院里

其实add时候并不是复制了值,而是传递了地址,所以

            //var c2 = new List<Class1>();

            //Class1 c1 = new Class1();

            //for (int i = 0; i < 100; i++)

            //{

            //    c1.i = i;

            //    c2.Add(c1);

            //}

            //foreach (var c in c2)

            //{

            //    Console.WriteLine(c.i.ToString());

            //}

            Console.ReadKey();

        }

    }这里的输出结果全都是99,希望会对大家有帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  list .net