C# (CSharp)
-
C# workbook recommendations?
Hey, I've been looking to get into C# programming for a while now, and self-teaching and free internet resources haven't really worked for me. Are there any programing workbooks that you've used to learn C#? I'm using Linux Mint if that affects which IDEs I would be able to use.
-
State of .net/c# cross platform frameworks
lemmy.ml State of .net/c# cross platform frameworks - LemmyRecently an idea came across my mind, and that is with all the fuss around Lemmy and fediverse in general, that i could spend my nights working on something instead of watching random YouTube stuff. So I’ve decided i could start building some kind of Android app, which will just be my time killer fo...
-
ActivityStreams - Library
Found this while researching how this fediverse thing works. ActivityStreams provide the vocabulary for interacting with Activitypub, which is the protocol the fediverse uses.
- thenewstack.io How to Work with Protocols and Get Started with ActivityPub
A crash course in using protocols — and understanding how they are different from APIs — using ActivityPub as an example.
-
Expressions with Linq
github.com ExpressionWithLinq/Using Expression object with Linq.md at main · ddashwood/ExpressionWithLinqContribute to ddashwood/ExpressionWithLinq development by creating an account on GitHub.
I wrote this blog a while ago, because it was a topic which was confusing and fascinating to learn. Since then, I've had a couple of other occasions when I've had to do similar things, and I've found myself looking back at what I wrote and using it as a reference. Hopefully some other people on here will also find it useful!
-
Is this community dead?
Hey - refugee from /r/csharp here, looking to find a Lemmy equivalent. But this place looks dead? Is there a C# community on Lemmy anywhere?
-
What Is yield and How Does It Work in C#?
www.viva64.com What is yield and how does it work in C#?C# capabilities keep expanding from year to year. New features enrich software development. However, their advantages may not always be so obvious. For example, the good old yield. To some developers, especially beginners, it′s like magic - inexplicable, but …
C# capabilities keep expanding from year to year. New features enrich software development. However, their advantages may not always be so obvious. For example, the good old yield. To some developers, especially beginners, it's like magic - inexplicable, but intriguing. This article shows how yield works and what this peculiar word hides. Have fun reading!
-
PVS-Studio Clashes with Hardcoded Passwords!
www.viva64.com PVS-Studio clashes with hardcoded passwords!PVS-Studio is a static analyzer that allows to find many problems hidden in the source code. Among them there are also errors related to application security. For example, the analyzer has recently learned to identify the presence of confidential data such as…
PVS-Studio is a static analyzer that allows to find many problems hidden in the source code. Among them there are also errors related to application security. For example, the analyzer has recently learned to identify the presence of confidential data such as passwords in the code. The OWASP Top Ten list includes this potential vulnerability. It is much more dangerous than it may seem at first glance. What makes it so dangerous? How can a static analyzer save us from it? That's what you'll know about (and more) in this article!
-
Should We Initialize an Out Parameter Before a Method Returns?
www.viva64.com Should we initialize an out parameter before a method returns?Surely every C# developer has used out-parameters. It seems that everything is extremely simple and clear with them. But is it really so? For a kickoff, let′s start with a self-test task.
Surely every C# developer has used out-parameters. It seems that everything is extremely simple and clear with them. But is it really so? For a kickoff, let's start with a self-test task.
-
A Spy Undercover: PVS-Studio to Check ILSpy Source Code
www.viva64.com A spy undercover: PVS-Studio to check ILSpy source codeIn PVS-Studio, we often check various compilers′ code and post the results in our blog. Decompiler programs, however, seem to be a bit neglected. To restore justice in this world, we analyzed the ILSpy decompiler′s source code. Let′s take a look at the peculi…
In PVS-Studio, we often check various compilers' code and post the results in our blog. Decompiler programs, however, seem to be a bit neglected. To restore justice in this world, we analyzed the ILSpy decompiler's source code. Let's take a look at the peculiar things PVS-Studio found.
-
C# Programmer, It's Time to Test Yourself and Find Error
www.viva64.com C# Programmer, it′s time to test yourself and find errorThe PVS-Studio analyzer is regularly updated with new diagnostic rules. Curiously enough, diagnostics often detect suspicious code fragments before the end of the work. For example, such a situation may happen while testing on open-source projects. So, let′s …
The PVS-Studio analyzer is regularly updated with new diagnostic rules. Curiously enough, diagnostics often detect suspicious code fragments before the end of the work. For example, such a situation may happen while testing on open-source projects. So, let's take a look at one of these interesting finding.
-
Top-10 Bugs Found in C# Projects in 2020
www.viva64.com Top 10 bugs found in C# projects in 2020This tough year, 2020, will soon be over at last, which means it′s time to look back at our accomplishments! Over the year, the PVS-Studio team has written quite a number of articles covering a large variety of bugs found in open-source projects with the help…
This tough year, 2020, will soon be over at last, which means it's time to look back at our accomplishments! Over the year, the PVS-Studio team has written quite a number of articles covering a large variety of bugs found in open-source projects with the help of PVS-Studio. This 2020 Top-10 list of bugs in C# projects presents the most interesting specimens. Enjoy the reading!
-
Talking About Errors in the QuantConnect Lean Code
www.viva64.com Talking about errors in the QuantConnect Lean codeThis article discusses errors found using a static analyzer in an open source project. There are some simple things that can help you avoid them. For example, the usage of language syntactic constructs starting from C# 8.0. We hope it will be exciting. Have f…
This article discusses errors found using a static analyzer in an open source project. There are some simple things that can help you avoid them. For example, the usage of language syntactic constructs starting from C# 8.0. We hope it will be exciting. Have fun reading!
- habr.com 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?...
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 to the CLI specification, and CoreCLR code are provided. Let's start with an interesting case.
- www.viva64.com Nullable Reference will not protect you, and here is the proof
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.
- www.viva64.com Analysis of merge requests in GitLab using PVS-Studio for C#
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 n…
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.
- www.viva64.com How to find errors in a C# project working under Linux and macOS
PVS-Studio is a well-known static code analyzer that allows you to find a lot of tricky errors hidden in the source code. Beta testing of the new version has recently finished. It provides the possibility to analyze C# projects under Linux and macOS. The tool…
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 get acquainted with these features using the example of checking the open source RavenDB project.
- www.viva64.com Single line code or check of Nethermind using PVS-Studio C# for Linux
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…
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.
-
Welcome to C# 9.0
devblogs.microsoft.com Welcome to C# 9.0 - .NET BlogNote: This post is out of date. Now that C# 9.0 has been released, an updated version can be found here. 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.
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.
- habr.com Beginning of beta testing of the plugin for Rider and PVS-Studio C# for Linux / macOS
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...
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.
- www.viva64.com 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…
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
www.viva64.com Top 10 bugs found in C# projects in 2019Hi 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.
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.
-
Run C# natively in the browser through the web assembly via mono-wasm
Empower you frontend applications with C# — Mono Wasm
-
Announcing .NET Core 3.1
devblogs.microsoft.com Announcing .NET Core 3.1 - .NET BlogAnnouncing .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 ...
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. As we’ve done in the past, we wanted to take our time before releasing the next LTS release. The extra two months (after .NET Core 3.0) allowed us to select and implement the right set of improvements over what was already a very stable base. .NET Core 3.1 is now ready to be used wherever your imagination or business need takes it.
-
Hardware Intrinsics in .NET Core
devblogs.microsoft.com Hardware Intrinsics in .NET Core - .NET BlogSeveral 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...
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 instructions (when available). They also provide a software fallback for when the hardware does not provide the appropriate instructions. This enabled a number of common algorithms to be vectorized, often with only minor refactorings. However, the generality of this approach made it difficult for programs to take full advantage of all vector instructions available on modern hardware. Additionally, modern hardware often exposes a number of specialized non-vector instructions that can dramatically improve performance. In this blog post, I’m exploring how we’ve addressed this limitation in .NET Core 3.0.
- cezarypiatek.github.io Avoid multithreading traps with Roslyn: Lock object selection
How to avoid thread synchronization problems caused by improperly chosen lock object
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 can be detected in runtime thanks to tools like Concurrency Visualizer, Parallel Tasks Window or with WinDBG !dlk command. However, these tools are often used only after some unexpected behavior is observed, but it would be nice to reduce the feedback loop and detect these issues in design time. I’ve decided to create a series of blog posts where I will present what I’ve recently learned about the traps related to the multithreading in C#. I will also show you my proposition of Roslyn analyzers that can possibly help to avoid those issues right at the stage of writing the code. This part is about choosing a suitable object for locking.