How it works...

In steps 1 to 14, we created a new blank solution and added a .NET Standard 2.0 class library. Then we gave the default template class a proper name. In step 15, we added the using directive required for threading support, which is System.Threading, and we have used the System.Text namespace to get the  StringBuilder class to store our messages.

We have used StringBuilder over String. If you are wondering why, it is because StringBuilder is mutable. When you perform operations such as insert, replace, or append, a StringBuilder object doesn't create a new instance every time. It will update one space in the memory without creating a new space in the memory. However, String is immutable, which means that if you create a String ...

Get .NET Standard 2.0 Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.