Dictionary 比List占用更多的内存

通过使用Dictionary和List创建数据, 比较那个占用的内存更多

class Program
    {
        static void Main(string[] args)
        {
            long start = GC.GetTotalMemory(true);
            //MultData testData=new MultData();


            //var gcMultListStr = MultData.MultListStr();
            var gcMultDicStr = MultData.MultDicStr();
            //Test1 test = new Test1();
            //Test2 test = new Test2();
            GC.Collect();
            GC.WaitForFullGCComplete();
            long end = GC.GetTotalMemory(true);
            //所消耗的内存
            long useMemory = end - start;
            Console.WriteLine("use memory: " + useMemory);
            Console.Read();
            //4194368,4194356
            //
            //536872908,536872896
            //
            //67110884(List),239981092(Dictionary) Dictionary比List消耗很多性能
        }
    }

public class MultData
    {
        public static List<int> MultListStr()
        {
            //监控创建所用到的时间
            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            watch.Start();
            List<int> list = new List<int>();
            for (int i = 0; i < 10000000; i++)
            {
                list.Add(i);
            }
            watch.Stop();
            //显示创建时间
            var useTime = (double)watch.ElapsedMilliseconds / 1000;
            Console.WriteLine("Use time: " + useTime);
            return list;

        }
        public static Dictionary<int, int> MultDicStr()
        {
            //监控创建所用到的时间
            System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
            watch.Start();
            Dictionary<int, int> dic = new Dictionary<int, int>();
        
            for (int i = 0; i < 10000000; i++)
            {
                dic.Add(i, i);
            }
            watch.Stop();
            //显示创建时间
            var useTime = (double)watch.ElapsedMilliseconds / 1000;
            Console.WriteLine("Use time: " + useTime);
            return dic;

        }
    }

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/2zhyi/archive/2013/06/04/3116591.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值