Performance Tips and Tricks in .NET Applications(二

作者:袖梨 2022-07-02
Use StringBuilder for Complex String Manipulation
When a string is modified, the run time will create a new string and return it, leaving the original to be garbage collected. Most of the time this is a fast and simple way to do it, but when a string is being modified repeatedly it begins to be a burden on performance: all of those allocations eventually get expensive. Here's a simple example of a program that appends to a string 50,000 times, followed by one that uses a StringBuilder object to modify the string in place. The StringBuilder code is much faster, and if you run them it becomes immediately obvious. namespace ConsoleApplication1.Feedback{    using System;    public class Feedback{    public Feedback(){        text = "You have ordered: ";    }    public string text;    public static int Main(string[] args) {        Feedback test = new Feedback();        String str = test.text;        for(int i=0;i<50000;i++){        str = str + "blue_toothbrush";        }        System.Console.Out.WriteLine("done");        return 0;    }    }}namespace ConsoleApplication1.Feedback{    using System;    public class Feedback{    public Feedback(){        text = "You have ordered: ";    }    public string text;    public static int Main(string[] args) {        Feedback test = new Feedback();        System.Text.StringBuilder SB =    new System.Text.StringBuilder(test.text);        for(int i=0;i<50000;i++){        SB.Append("blue_toothbrush");        }        System.Console.Out.WriteLine("done");        return 0;    }    }}

相关文章

精彩推荐