Damir Arh has many years of experience with software development and maintenance; from complex enterprise software projects to modern consumer-oriented mobile applications. Although he has worked with a wide spectrum of different languages, his favorite language remains C#. In his drive towards better development processes, he is a proponent of Test-driven development, Continuous Integration, and Continuous Deployment. He shares his knowledge by speaking at local user groups and conferences, blogging, and writing articles. He is an awarded Microsoft MVP for .NET since 2012.

Damir Arh has written 50 articles, which have been read 2972895 times.
4376
Abstract: Learn about cloud applications, study it's internal architecture as well as several design patterns that are especially useful in such applications.
25447
Abstract: In this tutorial, I look at the state of the Nullable Reference Types feature in C#, one year after its initial release.
21511
Abstract: The tutorial introduces a subset of C# 9 features which can make your code shorter and simpler. It concludes with a brief look at what future versions of the language might bring.
44675
Abstract: This article covers a selection of design patterns that are used in most web applications today.
71454
Abstract: This article provides a complete overview of .NET 5: what it is, when it was released, what it includes, where to download and how you can use it.
89330
Abstract: This tutorial introduces several architectural and design patterns that can be used to implement common scenarios in .NET desktop and mobile applications.
128668
Abstract: This article is an introduction to understand application architecture for the Microsoft technology stack.
235425
Abstract: This tutorial on .NET 5 provides a complete overview of the latest version of .NET - .NET 5 Preview 8. It covers new features, performance, release schedule, it’s current status and how you can download .NET 5 and test the latest preview.
106125
Abstract: There are different cloud services available to .NET developers for publishing their applications on Microsoft Azure. This tutorial provides an overview of these services and how a .NET Developer can leverage these services to create cloud applications.
140325
Abstract: Microsoft held the 10th edition of Build, its annual developer conference. This article provides an overview of announcements at this year’s Build virtual event that are particularly relevant for developers.
81991
Abstract: What were the announcements made at Microsoft Ignite that are of interest to developers? How can developers use these announcements to steer ahead in 2020! Read on!
59322
Abstract: In this tutorial, I will describe the tools and frameworks available to .NET developers for all aspects of mobile application development i.e. front-end, back-end and operations.
55261
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.
31313
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.
29361
Abstract: This article is an overview of .NET Core 3.0 covering all the new features and improvements it’s bringing to the .NET ecosystem.
38299
Abstract: Although there haven’t been as many new developments in approaches to desktop development as there were in web development, there are still several different frameworks available to .NET developers for creating desktop apps. This article provides an overview of them, compares their features and gives recommendations on what to choose depending on the application requirements.
74251
Abstract: There are many approaches available for developing a web application in .NET. In this article, I will give an overview of frameworks that you can choose for your .NET projects.
23250
Abstract: The tutorial provides an overview of .NET Core Global tools: how to use them, how to create them and what to expect of them in future versions of .NET Core.
100722
Abstract: This tutorial gives an overview of all the new features in C# 8 which can be tried out using Visual Studio 2019.
35569
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.
16978
Abstract: The .NET ecosystem including .NET Core, .NET Standard, C# and Visual Studio 2019 introduced many changes and new features in the year 2018. This article talks about these new feature updates and highlights how it will affect the way we develop applications in the future.
16051
Abstract: A tutorial on some less commonly used arithmetic, relational, logical, equality operators in C# and how to use them.
36832
Abstract: This C# tutorial explains how Garbage Collection works in .NET Framework and .NET Core, and some best practices to follow.
25619
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.
20504
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.
52385
Abstract: This tutorial explores how to develop .NET Core applications in Visual Studio Code (VS Code). We will explore some extensions that enhance Visual Studio Code and improves your .NET Core development experience.
69767
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.
88116
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.
73735
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.
41152
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.
34629
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.
66647
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.
27940
Abstract: Live Unit Testing functionality in Visual Studio 2017 brought more attention to the practice of continuous testing. This article will explain what continuous testing is all about, why you should care and how you can practice it as a .NET developer.
44719
Abstract: Microsoft has been recently announcing a slew of new development tools and frameworks for .NET Developers. This post gives a brief overview of what was announced and what is currently available.
65566
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.
26834
Abstract: .NET Standard 2.0 and XAML Standard were announced at Build 2017, which could have a big effect on the future of cross-platform development in .NET. In this article we’ll take a detailed look at what they are and why they might be important.
141423
Abstract: C# 7 is the next version of C#. This article provides an overview of the new features in C# 7.0.
104014
Abstract: Effective error and exception handling in any kind of an application plays an important role in providing a pleasant experience to the user, when unexpected failures occur. This article talks about some effective error handling strategies that you can use in your projects.
113820
Abstract: Learn approaches to concurrent programming in .NET Core, as well as potential issues to be aware of.
63115
Abstract: Singleton is one of the basic software design patterns, but if not implemented correctly can introduce complications in your application. This article discusses common use cases where you should avoid the Singleton pattern.
47442
Abstract: This Visual Studio Code (VS Code) article will help you get started, and make you more productive at this increasingly popular text editor.
20917
Abstract: Microsoft recently announced a slew of new development tools and frameworks for developers at Connect(); // 2016. This post gives a brief overview of what was announced.
28281
Abstract: What is .NET Standard and why should developers care about it. Also get a sneak peek into the upcoming .NET Standard 2.0.
166993
Abstract: The async and await keywords in C# makes asynchronous programming simpler, however one can still use them incorrectly. This article highlights some common mistakes, and gives advice on how to avoid these mistakes.
18072
Abstract: Project Centennial converts Windows desktop applications to Universal Windows platform (UWP) so as to include them in Windows Store and give them full application identity.
37820
Abstract: Roslyn now known as .NET Compiler Platform is the next generation of C# compiler and more. This article gives a general overview and guidance about Roslyn.
39169
Abstract: Project template creation for Visual Studio can be another tool in your tool belt. This guide will get you started.
43741
Abstract: C# 6.0 brings many small improvements to the language. However, does it make sense to upgrade your existing C# code base to take advantage of the new C# 6.0 features? Let us find out.
21254
Abstract: Diagnostic analyzers are a great new extensibility feature in Visual Studio 2015 for performing static code analysis. This article will walk you through the process of creating a simple diagnostic analyzer on your own.
22685
Abstract: Diagnostic analyzers in Visual Studio 2015 will strongly affect the way we will be writing code in future.This article will help you learn everything you need to know about diagnostic analyzers.