1. String concatenation vs StringBuilder
String concatenation works in such a way that every time when you add something to a string, a new address in the memory is being allocated. The previous string is copied to a new location with the newly added part. Which is obviously inefficient when compared to StringBuilder. On the other hand we have StringBuilder which keeps the same position in the memory without performing the copy operation. That is because of strings appending by means of StringBuilder the process is much more efficient, especially in case of hundreds of append operations.Not recommended approach
//String concatenation
List<string> myList = new List<string>() { "TestString1", "TestString2", "TestString3", "TestString4", "TestString5", "TestString6", "TestString7", "TestString8", "TestString9", "TestString10" };
string myOutputString = string.Empty;
foreach (var stringItem in myList)
{
myOutputString += stringItem;
}
List<string> myList = new List<string>() { "TestString1", "TestString2", "TestString3", "TestString4", "TestString5", "TestString6", "TestString7", "TestString8", "TestString9", "TestString10" };
string myOutputString = string.Empty;
foreach (var stringItem in myList)
{
myOutputString += stringItem;
}
Recommended approach
//StringBuilder
List<string> myList = new List<string>() { "TestString1", "TestString2", "TestString3", "TestString4", "TestString5", "TestString6", "TestString7", "TestString8", "TestString9", "TestString10" };
StringBuilder myOutputStringBuilder = new StringBuilder();
foreach(var stringItem in myList)
{
myOutputStringBuilder.Append(stringItem);
}
List<string> myList = new List<string>() { "TestString1", "TestString2", "TestString3", "TestString4", "TestString5", "TestString6", "TestString7", "TestString8", "TestString9", "TestString10" };
StringBuilder myOutputStringBuilder = new StringBuilder();
foreach(var stringItem in myList)
{
myOutputStringBuilder.Append(stringItem);
}
Next
No comments:
Post a Comment