C# : String
Top 37 C# Example Pages...

["swfkfs. XL#CST~~}T~~YFF+(]B(CC1CB/BCS}T~~}T~~","StringBuilder"," is an optimization. But it doesn't always improve performance. We determine the point at which StringBuilder becomes faster. Here we see benchmarks of StringBuilder and strings. We discuss the important considerations.","480px","420px","Benchmark."," To start, we see the code styles that were benchmarked to produce the graph. This is an adjunct article to my other StringBuilder work. What was tested here were tight loops that append a single string each iteration. ","Info: ","The number of strings that were appended was steadily increased to determine the slope of the graph.","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","StringBuilder default code, red line: C#","\n\nStringBuilder builder1 = new StringBuilder();\nfor (int i = 1; i < count1; i++)\n{\n builder1.Append(s);\n}\nreturn builder1.ToString();\n\n","StringBuilder with capacity, purple line: C#","\n\nStringBuilder builder2 = new StringBuilder(count1 * maxLength);\nfor (int i = 1; i < count1; i++)\n{\n builder2.Append(s);\n}\nreturn builder2.ToString();\n\n","String concat, blue line: C#","\n\nstring st1 = string.Empty;\nfor (int i = 1; i < count1; i++)\n{\n st1 += s;\n}\nreturn st1;","My test"," tried to defeat every compiler optimization by using different strings of the same lengths to append. The tests were repeated 20 times more for counts below 8 strings. You can see the graph above.","The benchmark indicates"," that using the string reference type with Concat is faster for one to four strings inclusive. Using StringBuilder with an accurate capacity is always faster than without.","Discussion."," Here I explore the best way to use StringBuilder in a program. Use StringBuilder always when you have a loop of a variable length. This will make your program usable in more scenarios than string Concat will. ","string.Concat ","string-concat","For example,"," if a program has three strings 99% of the time, but 30,000 strings 1% of the time, StringBuilder will make the program usable in that 1%. An important part of good programming is planning for errors and edge cases. ","Warning: ","If your program is lightning fast 99% of the time, but fails 1% of the time, your program is unacceptable for important work.","Therefore: ","I think StringBuilder is preferable in most loops, unless you have studied the input to the loop.","Problems."," There are many problems to this test. The individual strings themselves were 20 characters long. This may not match many programs in the real world. I benchmarked no cases where there are hundreds of thousands of strings. ","But: ","It is clear to me that the trend of the lines would continue. I used capacity settings that were 100% accurate.","Capacity ","capacity","Summary."," StringBuilder is entirely an optimization. It offers no logical improvements to string Concat other than its internal implementation. It is sometimes fine to use small loops (of four or fewer iterations) with simple string concatenations. ","Optimization ","optimization","Note: ","In edge cases, using string concats can be disastrous. Plan for your edge cases with StringBuilder.","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABJCAMAAABPapnRAAAAMFBMVEX////9amn+z879o6Lx//rj//T/MTH95OP/9PT8ubj/AADj0cTR/+3b6drx9O/W9ORYTpHNAAAEfklEQVR4XtWa23KzOgyF0cFHkvT933Y3wa4QQYPr/RPqdUenhnwjLUUSmYYRs6tinqaQiACAvoVhIAp3q3KOHwmyFsQhMITi5pgf5PNWfoho3ETMHARDBGNxOGZOeU+kAqgOMLyFD4jC3+TIuAZRAWT2u+iewkUcjr8vJa+Alg+PSAQ52iCPbIniBT53yyVUjHDALiCYTflwFQcpSyiZFqH8F0g0R/TCcQjinOOV16HKX0HiKocKCDTB18sC/yVOCwk+XberZ/Vnwt+AxGIHd1vfLIDUuw+IdUBQAtJxSNstVhL6oNVZZ1bqSUcqkSqhkkLuPwhSL4ttYzu9HEKpZpowf84iTmc7TD1ej9IjsMq5HKTDdq5Uu+fTEgG8qh2lWAF4Ub0MiPM832/O8XL9OuLLiSOL0K9AgiSQAYI7cwJv5gTAdbSdThFauqdJnaF4nO19XrdB3hs69HkrCG8pwuwrCDMjGF2Dne19XhcQjZjf5p0AeUc+bUCYudzb7fYPEA+yferyugnij8MhoZN7O2YuaTszP4RDRKd43W4TCkd9VFJjCxHIdeQfEHeTdhT5sR/DeIrXBUTHitSYIBwwF+ZINURUQJ4cTkCkkgPGZ7mrIU1lU+LcnVYq1EAbpQ6vC2K+qz9XDj+r707d5jxju/JF5YC707cmSdfcIGrxup1ZBVzTwdf+V04J3eKmAgA1VYx7C/KBsMXrZvFNe2MCGN3qvC4L9ebelxAKSNqCQAtIaPG6NdnAbpTibu3TIOWvRf6+sbOA6LWBLd/mdVcDonvfec82YToGkTgJogkScoPgf/Xwu3XsfabxqjDUI8JB+4/ll9zta/4WFtWn4Eahxes3xZF8Vk7X1D5ajbLXHCFXgfHYg2y3ZaeEcEiZz/BlPJ61oZLEbw2I0laZg5M9sTbOxsyq2ixCTFTQhGP7hBzZ6c9bj/iwCaz0Im7RDwi8FHrHXL2bOzIZPKw0lAobkMTRSQDVZOa7utj2veTBFypJAXDrFbGHH3njAOtlYersYv/Jbo5CiZ6E76DKp7cSAMcB6e/hNQjYGPptxWE7BGGzLZTqSyfM6y17eA8pKmjVDpmLe3swizZDfw+vsz5ssl5eN7aDeCDsWHueM68frYgdiwlpLcTYuWU7a15vX8eG9i3bwYET5vWmJ6h1XfsB/8ndXBdIf96et5vrAGl37RVe7wexvY7Xet12YejYqF/odfu/U6NrJx3uxlPhBK8b8YMO117rdVmr6OkpjeR14RaSKFv0Tte2nwr/lt7pgY9WrzbYKQikYLn2Qq+L9JYqeOl25zsv5sTy3gqNbvyDXu/9vY4WfsLr/fTtIwn2e91umPvp+0nwb3pdxBoFwQL5q163UchvIYBSOMHrZ/8Q97XMInhKZkRLnV4fTLbXB5M9HI8lu/kbTHYdHU66vY5+zMyyB57BZM87Y8j+oe+YAZF+geWt10gOcYvqUpleAul6aCxfGO/XB+CwRrUBODrmG4/TmCDTBGsMiqM1V1J1vVDgNJSYy0yzCJGIEH8H8R86J7+C+8H8WAAAAABJRU5ErkJggg==)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACFCAMAAADrcAOaAAABgFBMVEUAAAD///9hY2IbHRqiqJZ7g3iPlIzu+9v6/ejz/ebv/N3+/vbn+s31/ej+/u/q7PT8/vP//vL4/M77/dtOUU64vp/7/frFx74uMSzc9dr3/fG4s879/OTI0OXN8sPy9PnI8Lzx+/Cn2Mzo+9jbxNbk6PPqycz77tP7/dTw/Mv26ej88t357uu/x+Lb+b3DzeKcweLE77zW3Oz99+vFvMf779bJ96j7/u/U1NTk+ce4w97f4N82PS89OkD4+fk+SD/C2afa4e3b5MTl6tnq8Nzq+ern1eX99OPK7ML//O/55LjV2cPw8fjw5e/M9rzr3+qq7MfT9s3x3t/L5uWw7M7k+ODE3trizNv4+8blv8PP+LDV6+rTtszH8Lqt2c/y2s7HrtWhx9zC8rG13tO37tK/8a33/Mud6Mrn/bv2+8SfzNr79PL9+O389vXy9Lzj8uL558Gi6sTlu771+73Qscn++/Hu09XOstLQ7sr44bDB88rCqdXm6rf19NbP+aX33KQ7zRWnAAAGGklEQVR4Xu3bVXPrOBiAYRnDzFxmZmY8yMzMsMjw11eq9bmOJW3TZHuiOeP3JpPJzTOfLVV1UxRNRK1C7uJ+YQFuQR+v7kVuY87Cvm5RKBFKWIWY5uPx+DwXGOEWCPLytQiMJkTA+DzOzwcGOEUCPuJxFez+akAP6AE9oAf0gNs53VDX8xpCSNNW06ph6pncwk6xGIm0HxjJmauIn5Y2zJnlYrwYbB9wR8+jkzIVRSm2BxjQNYQkBp5fB0PaLC0sb49E/JGdne3zuYxuGqo9Wr1dwAwFqDM1JTvPrmLfFl47aQ1lsooSEQFXVlZWF7LZbhZIPwk2DdQtnrGsKCHMAyDT1nbAFxAuEoRbUBQOkH4SaBJIfWnMU+ab2AfPHJizxreGxwc6qYDbGtz+cb+UQBX2D5gfACNsBMjJ1yKw7C9b+aP+uqLlVCpDfGoW+5J1DYY5dYdJi0xORth2uYFBIVCUP5UcJBug1osHmBysK7zI8MB2hkC/C1hOZuAG9Nf7XoX5nS3Q7ypaHlCxL79GBuhqUNwbfpQxKPwk4OOHUuXUUWWm1BYMMOCaSfgqvyp++ZXpgEQZhQMmCvxc4IcGoJQ7n0mAMQwcc/f7DU4vblzBPWLqIlHGrS4mCrx/nR+iMOxjgGSJqNhXZIEvuBHmc6YuogQg628aaF3hGQzslhJIN8ELcIUlBBrYl4YrLCNwhZ6SA5IC/7JvQUmB5wmQHAMXZQTCGlmDNSIh0MS+VezLygo0YJuWFZjGQAMWcRPAddRsNUVpBJinJ4WgrECEK8EuIyFwhwBzLQDVdFo9jgDgPST65MLaWgPALbq6lHCbFwmA+Pv0GQK7GgQmBWUAOHaPbfL1FV7fiQ+sjU7wvjv09g6/DByn780x/X3l9XeiuphcQBjfcx7wPhO60wYg1BJQpwteXiCcFeZkBirSAT0ggOUFQg0D3wqygc/Y5h69E1biRxm3Z5go8PLeUfjFCt42CZx4ymti4unEH/woo+dHuwc0Cty7TdpjahHI1ijwAQQT/DaBNQx8KCkwIz0QDguXZAb2SgzcgANrVWbgAgZelRT4JwHmJAZ+gqdvBdmAkEafLNw8AyCpUeAPotYx0CTAl0xzXU0DqQrzemh1h4XLTGKgSp9u7Z4G+O4Y2NKThYt2YqCJgesYWGwSuNrKs5lGgDrCZbFQVqC9U3dICvxkb4TNAe2ekOBE/QDqcS2Si3skYDUCvLMCy1hWoEr/0tQpK9B+tvBMUuCGfRNKChxboc/5d2UFGhio1eAaywOExjbgOwuF1oDOw8IvUA//Z/FpJvjmZRoD81lFyZ7iNPOE6cgDE7wL9d3us4IJXiNdHKrT4bfoFZR0NbA4qSNchmyFHXVdGl8S9j3TkYcyvvwDnYMocLifNLzvDoBsGDhJlokWwyOstgs4/J/ADh3RM1enpMCONIJztaTADc0Wygm0LjIysyCUDIgzEUldxvdhVTrgQ5KBjjJjeIjVh0dxgaXS0tL4KAUyUcY5G/gb5AIO1wVAwT5ozctEVkZuTeksVMkEby2NHrdU0k01rSG9llU2R+8yObfjL7brC0SBRDY7u+9qeh8lRQ2EJ6tWmTwlaqo5s7D8uXD1eqUyvlTCMMNQV53fRO+t9DH9TKKMfts1C0OiwA/TpA/uphsBVg8MDdWlib7LH2scCAHQmhh2OjsRCG0AUZyGgdk2AKEDXWjUVEPPLcd6p6YqlfYAoQ3dUNN5y6nlrX/JKY1PbW5OVcZJFT6Q9hhsALTrx4sB1zoQunRrdJxJSqAH9IAe0AN6QA940om6gxcGcrLQbt5dAPY9PuesH6o76QPMAUxBZXfBgrDNKW6buGvChmad7Tv78JMVvDpCcVGJ4q6ozpi4Eab3ViPTZWdRZ4mQMDQvKhq5KRTGeoUNMVHn0Egd8LCuUMLqlEAcH9jbFDAlBiaaAXbunnKCMRLHB4knmBBOMGED4+5CxU5htQu8aqT37j7aRROijj1MxxM8A6BLeHgsOmwNCKu4USB0EtDZNwL0gB7QA3pAD+gBPaAH9IAeMP7//k7ykYIgx9uEsJBIGPoqEwTpYV0J5zjFE/wXzd93x5vnhJoAAAAASUVORK5CYII=)"]

["url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAB4BAMAAADS7QcCAAAAGFBMVEX////0qHKhmbLDvs74yKT4xaH4yqr2tYUVUWgbAAAAfUlEQVR42u3XsQmAMBgF4V9xAAOCfVxAdAEdQtwg1il0fsHS8IpIsLob4OvPnKy1V7WXWb+J9pQZZpG3zkRNyowmmmBgYGBgYGBgYGBgYGA+Mn0QHTl3V+o1iYieKifLYq4gilnMYqIVBgYGBgYGBgYGBgYG5gfm3ESx0GvePshxrr29cIIAAAAASUVORK5CYII=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACCAgMAAADasxWRAAAADFBMVEX/6Nn///+VlZX29va5ksB5AAAASElEQVR4AWPACZj/f0DmjkqOSjKtQgcLyJccZiEE9SOmP8mXHEaBMBoIo4EwGggryJccvvVKKAogTnJUclRyVHLklgmjkqOSAALWyrsxEHLDAAAAAElFTkSuQmCC)","url(data:image/jpeg;base64,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)","E","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALwAAAByCAAAAADMwOSzAAACe0lEQVR4Xu3csY7kMAgG4Lz/86Wkp6ZAokDy6RTfodVsTDSaxPy7/uux9a0LZpkEb20YNzNVEWYmItr/hYiYWcS8Tcw2cKv8DTPtoxCzqFfC+wGXgCchYlGvgDfp9MBd/xNsIj7otL8XHwC8x14Sq04/Yine4tRvwEvP6ypqPXp+dgneY+nbaZPwHscOh7eww+HDjoL/uJ1m4D3scPjYFw8fawDxUWjw8LErFP7TB7/z0/jYFA8fB4+Il1iQh47UwF//fvrfLPV/t0WEj+52Ev5yjWc96y/MNNrdR/EX6yRZuxb3Z/Ge10lu1/MsPm9auZXFS09iL4n3DE+tLD5vQrQsPi+U1ArjJcELAv7Og/eeAT4+cor3r2lbVPk7Sk30ODeEt3R/QcZ7YXxWbKgB47kyPis2goy3ynhP8K00frw9lcbbD8bz3fiFJ0S8jvEyCb/wioy30nhZ+Kz/Mz3CPa8S0h7hI9+AtMeOeIb3cBRswGO7UviFfwO48Au/8Au/8OhfUgu/8EkzUhqvNfELr8h4+cV477EuGvSw0sPnPaz06BHbDOJHp/UrMf6TkYVfD9RagndkvCI/vpfSeAN+9yDbn0rjPdnfEPCC+JpWS/BUGJ8PGWldfH46XBifzy1oXXw+qkOF8dE1wr2Cful4uC7epQdu7OLimBRpRfzlmkDiw1kjNRFmmjehto9DLJZNeT2P1zfG66jKbKAjDzbGCkS8Iw/zxhJAfGyLiI9aj4iPRYg3ToQeEB87EyLepQcLnyzEwIceER8VEwT/6fu0JuKDzwSA/yifWGbhIxb+y2wWm9DDJnc+UtE7HwOfXOTB/KX1o37bppq3efkDT4lpi2pYKzIAAAAASUVORK5CYII=)"]