ICYMI C# 8 New Features: Prevent Bugs with Static Local Functions
This is part 6 in a series of articles.C# 7 introduced local functions that allow you to create functions “local” to another function or method. These local functions are implicitly private to the...
View ArticleICYMI C# 8 New Features: Upgrade Interfaces Without Breaking Existing Code
This is part 7 in a series of articles.Prior to C# 8, if you add members to an interface, exiting code breaks if you do not implement the new members in any class that implements the interface.As an...
View ArticleICYMI C# 8 New Features: Asynchronous Streams
This is part 8 in a series of articles.In earlier versions of C# you could return an IEnumerable<T> from a method, for example to be consumed by a foreach loop.The following example shows a...
View ArticleException Handling in C# Course Update
An updated version of my Exception Handling in C# course is now available that updates demos to to use .NET 5.From the course description: “At the core of handling errors in C# code is a thorough...
View ArticleWatch All My Courses For Free This April
If you want to level up your tech skills for free, this April you can watch all my Pluralsight courses for free!!
View ArticleFree .NET Testing Courses This Month
This month all my Pluralsight courses are available for free including a lot of .NET testing content that can help you either get started with .NET testing or level-up your tests to make them easier to...
View ArticleNew Course Update: Working with Files and Streams in C#
An newly updated version of my Working with Files and Streams in C# video training course is now available. This version includes updated demos to .NET 5.“C# has so many different ways to work with the...
View ArticleICYMI C# 9 New Features: Top-level Statements
This is the first in a series of articles on new features introduced in C#9.Top-level statements allow you to simplify and remove some of the “ceremony” in your code. For example, take the following...
View ArticleICYMI C# 9 New Features: More Pattern Matching Features
This is part of a series of articles on new features introduced in C# 9.Pattern matching was introduced in earlier versions of C# and C# 9 continued to evolve this feature. Pattern matching in a more...
View ArticleICYMI C# 9 New Features: Reducing Code with Target-typed New Expressions
This is part of a series of articles on new features introduced in C# 9.C# 9 introduced some enhancements to reduce the amount of code you need when creating new instances of objects.These target-typed...
View ArticleICYMI C# 9 New Features: Adding foreach Support To Any Type
This is part of a series of articles on new features introduced in C# 9.Prior to C# 9 you could add foreach support to a class by modifying the class and implementing the IEnumerable interface. With C#...
View ArticleICYMI C# 9 New Features: Reduce Boilerplate Constructor Code with Init Only...
This is part of a series of articles on new features introduced in C# 9.Prior to C# 9 if you wanted to create properties that can be set only when the object is created, you could make the property...
View ArticleNew Pluralsight Course Update: Working with Nulls in C#
A new version of my Working with Nulls in C# Pluralsight course was just released. This new version features updated demos in .NET 5 & C# 9 plus a brand new module has been added.The course...
View ArticleICYMI C# 9 New Features: Create Immutable Objects with Records
This is part of a series of articles on new features introduced in C# 9.C# 9 introduced a new type of object that is neither a class or a struct. This new type is called a record.In C# 9 a record is a...
View ArticleWhat’s New in C# 10: Reclaim Horizontal Editing Space and Simplify Nesting
This is the first part of a series on the new features introduced with C# 10.Prior to C# 10, to define types as being part of a specific namespace you would use the following syntax:namespace...
View ArticleWhat’s New in C# 10: Simplify Argument Null Checking Code
This is part of a series on the new features introduced with C# 10.Prior to C# 10 you may have had code similar to the following:public static string Join(string a, string b) { if (a is null) { throw...
View ArticleWhat’s New in C# 10: Write Less Code and Reduce Repeated Using Directives
This is part of a series on the new features introduced with C# 10.There are 2 related features in C# 10 that will reduce the clutter of repetitive using directives: global using directives and...
View ArticleWhat’s New in C# 10: New Possibilities for Validation and Logging Methods
This is part of a series on the new features introduced with C# 10.From C# 10 we can make use of the [CallerArgumentExpression] attribute.This attribute can be applied to a parameter to get information...
View ArticleWhat’s New in C# 10: Easier Lambda Expressions
This is part of a series on the new features introduced with C# 10.Prior to C# 10, working with lambda expressions required a bit more code to be written, for example to explicitly define the delegate...
View ArticleWhat’s New in C# 10: Take Control of Interpolated String Handling
This is part of a series on the new features introduced with C# 10.In C# you can create an interpolated string such as: $"{DateTime.Now}: starting..."The compiler will transform this to a single string...
View Article