C# (CSharp)
!csharp
#
Check how you remember nullable value types. Let's peek under the hood

Recently nullable reference types have become trendy. Meanwhile, the good old nullable value types are still here and actively used. How well do you remember the nuances of working with them? Let’s jog your memory or test your knowledge by reading this article. Examples of C# and IL code, references…


Have you ever wanted to get rid of the problem with dereferencing null references? If so, using Nullable Reference types is not your choice. Do you want to know why? This will be our topic today…


Do you like GitLab and don’t like bugs? Do you want to improve the quality of your source code? Then you’ve come to the right place. Today we will tell you how to configure the PVS-Studio C# analyzer for checking merge requests. Enjoy the reading and have a nice unicorn mood…


PVS-Studio is a well-known static code analyzer that allows you to find a lot of tricky errors hidden in the source code. It is now possible to analyze C# projects under Linux and macOS. The tool can also be integrated into the cross-platform IDE from JetBrains - Rider. This article will help you to…


This article coincides with the beta testing start of PVS-Studio C# for Linux, as well as the plugin for Rider. For such a wonderful reason, we checked the source code of the Nethermind product using these tools. This article will cover some distinguished and, in some cases, funny errors…


C# 9.0 is taking shape, and I’d like to share our thinking on some of the major features we’re adding to this next version of the language…


Due to a series of different events, the beginning of beta testing of the plugin for the Rider and C# analyzer for Linux / macOS was a little delayed. However, we are pleased to announce that this day has come — today we are launching the beta test…


Checking Emby with PVS-Studio

Emby is quite a popular media server along with Plex and Kodi. In this article, we’ll discuss the bugs found in its source code with the static analyzer PVS-Studio. The remark “Built with ReSharper” on the project’s official website makes the analysis even more interesting…


Top 10 Bugs Found in C# Projects in 2019

Hi to all fans of bugs! The New Year is coming soon, so it is time to take stock of the the outgoing year. By tradition, we’re glad to present the top list of errors found by the PVS-Studio team in open C# projects in 2019. Ready? Then let’s get going…



Announcing .NET Core 3.1

We’re excited to announce the release of .NET Core 3.1. It’s really just a small set of fixes and refinements over .NET Core 3.0, which we released just over two months ago. The most important feature is that .NET Core 3.1 is an long-term supported (LTS) release and will be supported for three years…


Hardware Intrinsics in .NET Core

Several years ago, we decided that it was time to support SIMD code in .NET. We introduced the System.Numerics namespace with Vector2, Vector3, Vector4, Vector<T>, and related types. These types expose a general-purpose API for creating, accessing, and operating on them using hardware vector instruc…


Avoid multithreading traps with Roslyn: Lock object selection

Multithreading is one of the most difficult aspects of programming and can cause a lot of headaches. The main source of problems is often improper usage of synchronization mechanisms, which can result in deadlocks or a complete lack of synchronization despite our expectations. The infamous deadlocks…


C# (CSharp)
!csharp