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 54 articles, which have been read 9106622 times.
17489
Abstract: This tutorial shows two different options for running your .NET code as part of a GitHub Actions workflow using .NET local tools and custom Github actions.
86034
Abstract: The tutorial explains how a .NET Developer can take advantage of GitHub Actions. It presents two ways to create a GitHub Actions workflow for a .NET solution.
94430
Abstract: In this tutorial, I compare Azure Static Web Apps with Azure App Service and explain how to publish a Blazor WebAssembly application as a Static Web App.
159056
Abstract: This article explores C# async streams in detail: from the basics and the reasoning behind them, to real-world examples of using and creating them.
333172
Abstract: Learn about cloud applications, study it's internal architecture as well as several design patterns that are especially useful in such applications.
959501
Abstract: In this tutorial, I look at the state of the Nullable Reference Types feature in C#, one year after its initial release.
577303
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.
948339
Abstract: This article covers a selection of design patterns that are used in most web applications today.
1216593
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.
558189
Abstract: This tutorial introduces several architectural and design patterns that can be used to implement common scenarios in .NET desktop and mobile applications.
467581
Abstract: This article is an introduction to understand application architecture for the Microsoft technology stack.
397446
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.
218001
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.
235147
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.
132984
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!
108690
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.
93745
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.
59986
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.
52674
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.
74171
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.
158833
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.
47786
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.
167336
Abstract: This tutorial gives an overview of all the new features in C# 8 which can be tried out using Visual Studio 2019.
67433
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.
22039
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.
21473
Abstract: A tutorial on some less commonly used arithmetic, relational, logical, equality operators in C# and how to use them.
54538
Abstract: This C# tutorial explains how Garbage Collection works in .NET Framework and .NET Core, and some best practices to follow.
34943
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.
29087
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.
62075
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.
90504
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.
96331
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.
87691
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.
54367
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.
39802
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.
76151
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.
35822
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.
52036
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.
75496
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.
33419
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.
151694
Abstract: C# 7 is the next version of C#. This article provides an overview of the new features in C# 7.0.
126891
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.
136130
Abstract: Learn approaches to concurrent programming in .NET Core, as well as potential issues to be aware of.
72191
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.
55641
Abstract: This Visual Studio Code (VS Code) article will help you get started, and make you more productive at this increasingly popular text editor.
24990
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.
34128
Abstract: What is .NET Standard and why should developers care about it. Also get a sneak peek into the upcoming .NET Standard 2.0.
181710
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.
22416
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.
47111
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.
44264
Abstract: Project template creation for Visual Studio can be another tool in your tool belt. This guide will get you started.
50397
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.
33296
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.
28070
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.
OSZAR »