static 和 new對象的區別


static : 無需創建實例可直接使用, 會直到程序關閉才會釋放資源

new 對象: 每次使用時new一次對象,對象使用完會自動釋放資源, 下一次再使用時需要從新new一次 

測試性能對比:

static void Main(string[] args)
        {
            var count = 1000000000; 
            //test static class
            var start2 = DateTime.Now;
            for (int i = 0; i < count; i++)
            {
                Test.StaticSum();
            }
            var end2 = DateTime.Now;
            Console.WriteLine($"normal: {end2.Subtract(start2)}");

            //test class
            var start1 = DateTime.Now;
            for (int i = 0; i < count; i++)
            {
                var t1 = new Test();
                t1.Sum();
            }
            var end1 = DateTime.Now;
            Console.WriteLine($"normal: {end1.Subtract(start1)}");

            Console.ReadLine();
        }

結果如下:

 

結論:

在頻繁需要使用的對象, 建議使用static

注意: 內存是有限的, 好比一個容器, static每用一次就在往容器加一點, 如果濫用static, 可能會造成內存泄漏

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM