.NET 2015 is the umbrella that represents the key pieces of the .NET platform delivered from Microsoft, including the .NET Framework, the recently announced .NET Core, and a shared common layer of packages, compilers and runtime.

So far, we have published 652 .NET and C# tutorials and articles, which have been read by over 66323074 (Sixty Six Million Three Hundred Twenty Three Thousand Seventy Four) developers and architects.

Category Patterns & Practices Views: 5158
Abstract: In this Patterns and Practices tutorial, I will talk about the most important coding practices based on my experience. The first part focuses on Automated Testing.
Category Patterns & Practices Views: 6872
Abstract: The Maybe Monad is a container that represents a value that may or may not exist. In this tutorial, I will go through some methods that make working with the Maybe monad easier.
Category Patterns & Practices Views: 9646
Abstract: In this tutorial, I will discuss function parameters in C#. I will talk about how function parameters tend to become unclear as we maintain our programs and how to fix them.
Category C# Views: 12259
Abstract: The recommended pattern for asynchronous programming in the .NET framework is the task-based asynchronous programming (TAP). This tutorial gives a brief info about this pattern.
Category C# Views: 5625
Abstract: Developers do not need to implement the IEnumerable and IEnumerator interfaces to return an IEnumerable. They can avoid writing all of that code by taking advantage of support for iterators in C#. This tutorial shows how.

The Maybe Monad (C#)

Posted by: Yacoub Massad , on 9/25/2019
Category Patterns & Practices Views: 13324
Abstract: In this tutorial, I will talk about the Maybe Monad; a container that represents a value that might or might not exist.
Category Patterns & Practices Views: 13305
Abstract: In this tutorial, I will talk about ways to handle state in multi-threaded C# applications, including race conditions.
Category Patterns & Practices Views: 10558
Abstract: The article talks about type expressiveness and how we can use the functional Either monad in C# to implement complex business logic that reads as simply as a description of sequential operations. We’ll also look at a technique that allows us to express a complex scenario involving multiple systems as pseudocode and then convert that pseudocode into something we can actually ship to production.
Category ASP.NET Views: 10152
Abstract: In the 3rd and final part of the ASP.NET Evolution series, we will see ASP.NET transition to ASP.NET Core - an open source, cross platform - one that fully embraces the nature of the web.
Category ASP.NET Views: 12274
Abstract: Part 1 took an overview of the initial design of ASP.NET and how Microsoft reacted to the various changes in webdev. In Part II, we will now look at how those changes influenced the development of ASP.NET MVC and ended up transforming ASP.NET into a much more flexible framework composed of multiple libraries that solved different problems.
Category ASP.NET Views: 16582
Abstract: The first version of ASP.NET was released 17 years ago and during these years, it is fascinating to see how the ASP.NET team constructively reacted through these years to the major shifts happening on the web. Initially a platform that was closed and tried to hide and abstract the web; ASP.NET has metamorphized into an open source and cross platform - one that fully embraces the nature of the web. This is the first part of a series of 3 articles that will cover the history of ASP.NET from its launch to the latest ASP.NET Core releases.
Category Patterns & Practices Views: 15554
Abstract: In this tutorial, I will discuss about global state in C# applications. I will talk about the problems of global state and discuss a solution.
Category C# Views: 68803
Abstract: This tutorial gives an overview of all the new features in C# 8 which can be tried out using Visual Studio 2019.
Category Patterns & Practices Views: 27018
Abstract: This tutorial aims to be a guide for designing and implementing asynchronous and parallel data processing using the TPL Dataflow library from Microsoft. The TPL Dataflow consists of different building "blocks" that you compose in a pipeline fashion to structure your application in a clear way, allowing you to write readable and reusable C# code.
Category LINQ Views: 20239
Abstract: The way LINQ queries are executed depends on the kind of data source being queried. This tutorial talks about how a LINQ query is executed and how this affects performance.
Category C# Views: 10728
Abstract: The Absolutely Awesome Book on C# and .NET has released. Built around concepts, this concise 500 pages eBook is available in PDF, ePub (iPad) and Mobi (Kindle) and will help you build a solid foundation in C# and .NET. This book covers C# 6.0, C# 7.0, .NET Framework and .NET Core, with chapters that cover the latest developments to .NET and C# including .NET Standard and C# 8.0.
Category Patterns & Practices Views: 10491
Abstract: In this tutorial, I am going to go through some examples of data object design in C# and discuss some issues with them.

Less commonly used C# operators

Posted by: Damir Arh , on 12/31/2018
Category C# Views: 11249
Abstract: A tutorial on some less commonly used arithmetic, relational, logical, equality operators in C# and how to use them.
Category C# Views: 26018
Abstract: This C# tutorial explains how Garbage Collection works in .NET Framework and .NET Core, and some best practices to follow.

Composing Honest Methods in C#

Posted by: Yacoub Massad , on 12/16/2018
Category Patterns & Practices Views: 11135
Abstract: In this tutorial, I will provide a proof of concept in C# for composing honest methods. We will see how to create honest programs out of many honest methods.
Category C# Views: 18545
Abstract: The .NET framework Base Class Library contains many collection classes. This can make it difficult to decide when to use which. Grouping them together based on their properties can make the choice for a specific scenario, much easier.

The Evolution of C#

Posted by: Damir Arh , on 10/22/2018
Category C# Views: 15965
Abstract: Since its original release in 2002, C# has been regularly updated with new features. Today, we will look at the most important new features of each major language version and explore how the C# code we have been writing, has evolved through years.

Writing Pure Code in C#

Posted by: Yacoub Massad , on 10/14/2018
Category Patterns & Practices Views: 19963
Abstract: In this article, I will work on a C# game that contains impure code and work towards making the code pure. I am going to show you how to use PurityAnalyzer—an experimental Visual Studio extension I wrote—to help you write pure code in C#.
Category Patterns & Practices Views: 43234
Abstract: This tutorial demonstrates how to design software using the Command Query Separation (CQS) pattern. We will create a console application and will use C#, Entity Framework, Autofac and Log4Net for our example.
Category C# Views: 30944
Abstract: Can database-style sharding improve the performance of a multi-threaded C# application? This tutorial talks about the performance bottlenecks in sophisticated C# concurrency operations and how sharding can solve these issues.
Category C# Views: 17138
Abstract: The DotNetCurry team had the opportunity to interview Mads Torgersen, C#’s Lead Language Designer, and find out what’s happening in C#, and where does it go from here.

Writing Honest Methods in C#

Posted by: Yacoub Massad , on 7/22/2018
Category Patterns & Practices Views: 43908
Abstract: This C# tutorial describes approaches for making methods/functions more honest. A more honest method makes it easier for readers to understand what the method does by reading its signature, i.e., without reading its implementation.

Dynamic Binding in C#

Posted by: Damir Arh , on 6/27/2018
Category C# Views: 56566
Abstract: Dynamic binding in C# opens some possibilities which would not be available in a strictly strong typed language. This tutorial explores how C# supports dynamic binding.
Category Patterns & Practices Views: 21835
Abstract: This tutorial looks at a new approach to AOP called AOP via functions (in C#) as an attempt to mitigate the issues of the CQS approach.

C# 8.0 – New Planned Features

Posted by: Damir Arh , on 5/26/2018
Category C# Views: 84466
Abstract: In this C# 8 tutorial, I am going to introduce a selection of currently planned features which will most probably end up in the final release. All of the C# 8 features are still early in development and are likely to change.
Category C# Views: 62369
Abstract: C# 7 has added a number of new features to the language. This tutorial looks at the new features added to the minor versions of C# i.e. C# 7.1, 7.2 and and 7.3.
Category Patterns & Practices Views: 16683
Abstract: This article highlights that software development is a highly complex process with lots of smaller steps that a Software Craftsman should follow in order to build something of quality.
Category Patterns & Practices Views: 37037
Abstract: Learn how to design multi-threading safe data objects in C# and how to “modify” immutable objects using the DataObjectHelper Visual Studio extension. Also use F# to concisely create our data objects, and use them in C# projects.
Category .NET Framework Views: 29618
Abstract: A peek into the major differences between the .NET framework versions and how we can still target older versions of .NET framework even when using the latest development tools.
Category ASP.NET Views: 27657
Abstract: Learn how to handle Model level error messages which occur in ASP.NET Web API action methods that has been consumed using RestSharp.

How Well Do You Know C#?

Posted by: Damir Arh , on 2/5/2018
Category C# Views: 31195
Abstract: Even developers with good C# skills write code that might behave unexpectedly sometimes. This article features several C# code snippets which fall into that category, and explains the reasons behind the surprising behavior.

The Dataflow Pattern in .NET

Posted by: Yacoub Massad , on 1/18/2018
Category Patterns & Practices Views: 43233
Abstract: This article discusses the dataflow pattern, a variant of the producer-consumer pattern, along with examples of applying this pattern in .NET. Finally, you will also be introduced to ProceduralDataflow, a new library I created to help write clean dataflows.
Category C# Views: 29726
Abstract: Each newer version of C# is packed full of powerful and impactful features. In this tutorial I walk through the various versions of C# and share my favorite features from each release.
Category Patterns & Practices Views: 62491
Abstract: This article discusses the producer-consumer pattern in .NET, some reasons why we should use it and demonstrates some examples of how to implement it in .NET.
Category Patterns & Practices Views: 28084
Abstract: Flux is a new application architecture introduced by Facebook in May 2014. This article compares the MVC architecture with Flux from various perspectives.
Category C# Views: 62272
Abstract: Visual Studio 2017 15.3 update was a big milestone for C#. It was the release vehicle for C# 7.1 – the first minor version of C# 7. This article will take a closer look at its new features and the plans for future versions (C# 8) of the language.
Category Entity Framework Views: 55277
Abstract: New Features in Entity Framework Core 2.0. EF Core is a lightweight, extensible, and cross-platform Object/Relational Mapping (O/RM) framework for .NET.
Category ASP.NET MVC Views: 130748
Abstract: Create PDF in ASP.NET MVC using the Rotativa package to convert a HTML response directly into a PDF document and print the PDF document.
Category Patterns & Practices Views: 24819
Abstract: This article discusses problems and solutions related to resource management in complex C# applications. It also discusses automatic resource management that exists in the .NET framework.
Category Entity Framework Views: 29319
Abstract: This article takes a peek into the past, present and future of Entity Framework Core. It also explains the good bits and current shortcomings of EF Core, as well as some alternatives to it.
Category C# Views: 57978
Abstract: As a C# developer, you might already be writing some functional code without realizing it. This article describes some of the functional approaches you are already using in C#, as well as some improvements in C# 7 that make functional programming in it, easier.
Category Patterns & Practices Views: 50884
Abstract: This article describes how we can use Generics in C# to make our software more resilient to data-related changes, thereby improving its maintainability.
Category Patterns & Practices Views: 15562
Abstract: Is User Experience (UX) important or is it just a buzzword? This article analyzes the usefulness of UX in an application development process.
Category Patterns & Practices Views: 44398
Abstract: The article explains how Behavior Driven Development (BDD) works and provides a real-world example of how to use it to provide meaningful tests which can act as living documentation.

C# 7 - What's New

Posted by: Damir Arh , on 6/7/2017
Category C# Views: 136730
Abstract: C# 7 is the next version of C#. This article provides an overview of the new features in C# 7.0.





C# Book for Building Concepts and Interviews



jQuery CookBook