Book Image

.NET Standard 2.0 Cookbook

By : Fiqri Ismail
Book Image

.NET Standard 2.0 Cookbook

By: Fiqri Ismail

Overview of this book

The .NET Standard is a standard that represents a set of APIs that all .NET platforms have to implement, making it easy for developers to access and use one common library for their development needs. This book begins with a quick refresher, helping you understand the mechanics of the new standard and offering insight into how it works. You’ll explore the core library concepts, such as working with collections, configurations, I/O, security, and multithreading. You’ll explore the iOS and Android libraries of Xamarin and we’ll guide you through creating a .NET Standard 2.0 library, which you’ll use with both Android and iOS applications. In the final chapters, you’ll learn the various debugging and diagnostics tools to deliver quality libraries and create a NuGet package of the .NET Standard 2.0 library. By the end of this book, you’ll be able to expand your current workflow to various .NET flavors and have the essential skills to create a .NET Standard 2.0 library from scratch to package and deliver it to the world.
Table of Contents (18 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Introduction


This chapter talks about the functional programming capabilities of C# and how to use them for a .NET Standard 2.0 library. Let's look at a definition of functional programming:

"Functional programming is a style that treats computation as the evaluation of mathematical functions and avoids changing state and mutable data."

Simply put, it means you will be able to use functions as inputs and outputs for other functions. You can also assign them to variables and store them in collections. Have a look at the following code, which explains what we just talked about:

Func<int, int> addNumbers = n => n + 1;
var answer = addNumbers(1);

answer // 2

var range = Enumerable.Range(1, 5);
var answers = range.Select(addNumbers);
answers // 2, 3, 4, 5, 6

Again, when we follow the functional paradigm, we must avoid state mutation. This means that when an object is created, it never changes; variables should never be reassigned. Functional programming has been around for quite a while...