Skip to content

Latest commit

 

History

History
843 lines (628 loc) · 78.1 KB

File metadata and controls

843 lines (628 loc) · 78.1 KB

drawing

Let's learn about Csharp via these 207 free blog posts. They are ordered by HackerNoon reader engagement data. Visit the /Learn or LearnRepo.com to find the most read blog posts about any technology.

Like Java, but it sucks less.

In this post I'll show how to maintain a standard for everyone who works in the code, no matter the editor used.

The Factory pattern allows developers to create objects without specifying the exact class of object that will be created.

A couple of weeks ago I wrote an article about building and deploying a Blazor app without touching a Windows machine and realized maybe I should take a step back and explain what Blazor is and why anyone would use it. It's still fairly new to most in the front end development world, but it's awesome and you should check it out.

Check out this post to see how you can use Python from inside a C# .NET Core application with a more modern approach than my original articles using Pythonnet.

Hi everyone! There is a lot of information about different C# features. About various life hacks and best practices in this language. I want to tell you about equally useful, but less popular tips for working with this language.

Primitive obsession is a code smell in which primitive data types are used excessively to represent your data models.

Dapper is a popular and easy-to-use object-relational mapping (ORM) tool for .NET developers. It is lightweight, fast, and provides a simple way to execute SQL

Implicit operators are a C# feature that can make our code more readable and expressive. But beware! Misuse can backfire and cause a great deal of headaches!

A story of how a final year student with lofty credentials joined our small team.

Explore the concept of Inversion of Control (IoC) in software engineering, understanding its benefits, and various implementations.

Understanding C# string formatting with Base64 can bring many benefits to your programming and software development skills.

Enhance your string comparison skills and write robust, efficient code in C#.

We use Azure Function Core Tools to create a local.settings.json file and import our Function settings to that file so we can run our Functions locally.

With Supabase, developers can easily build and scale web and mobile applications.

I've recently gotten into using Docker in my development cycle and I'm really enjoying how much of a wonderful tool it is. One thing that always used to be a pain was setting up a development server to run SQL Server. Now with Docker, I can just spin up a Docker container and I instantly have a SQL Server ready to go.

I recently wrote a blog post introducing some of my favourite NuGet packages: My Top 4 NuGet Packages for ASP.NET Core. In that post, I briefly introduced a package called MediatR. Today, I will dedicate this post to revisiting MediatR in further detail.

TelemetryClient vs ILogger or how to improve logging experience in C# ASP.NET for Application Insights

Learning by doing

QR code is a computer-readable identification that contains data about the item to which it is attached. The article demonstrates how to generate QR-Code image.

C# (pronounced “C sharp”) is a modern, object-oriented programming language developed by Microsoft. It is widely used for creating desktop applications, games,

Explore the top C# .NET spreadsheets and their notable features for your applications in this review of leading options.

Best Practice Using Timers in DotNet (.NET) CSharp (C#), Dependency Injection (DI), Inversion of Control (IoC), Test Driven Development (TDD), Unit Testing

Microsoft announced some time ago that Coded UI automation was being deprecated - and that the recommended replacement for testing was Appium with WinAppDriver.

We can publish NuGet packages to internal feeds hosted in Azure Artifacts easily via pipelines defined in YAML files.

When customers shop online, they often enter their credit information into a secure payment gateway. This protects the customer and the business.

Best Practice Cover DotNet (.NET) CSharp (C#) with unit tests with Test Driven Development TDD Dependency Injection DI Inversion of Control IoC Containers

We can run our C# Azure Functions in an isolated process, decoupling the version of .NET that we use in our functions from the runtime version.

Introduction

Compared to other languages, C# was way behind in capabilities to handle data efficiently. Well, those days are over now. Microsoft just improved the C# syntax, making it easier for developers to manage data in arrays.

In C#, how can we balance asynchrony and laziness? Is there such a thing as async lazy? Let's explore our options built into dotnet!

We are always talking about the mainstream programming languages to an extent where Python, Java, SQL, etc, are all that we see mostly. There are many other dynamic frameworks and languages like our topic of choice today; C sharp or C#, which are playing an integral part in global software development communities. Let's take an in-depth look at the fundamentals of C# as well as the .Net framework to better understand the exclusivity, features, and their advantages.

In this Selenium C# tutorial, we are going to help you set up Selenium in Visual Studio and run your first Selenium C# example script.

Performance is often one of the key focus points when building enterprise software. Many of the systems that we build rely heavily on communications with other systems. When these external communications become slow, then our software becomes slow. Unfortunately, we often have no control over the response time of the services that we depend on. However, we can optimize the way that we communicate with those services in order to ensure maximum performance.

See code examples for how to update MongoDB documents in C#. This article covers the basics of different methods you can use to update records.

A guide on how to do Web Scraping in DotNet (.NET) CSharp (C#), with examples. Software Development Coding Programming Selenium HtmlAgilityPack Puppeteer

Simple explanation of DotNet (.NET) CSharp (C#) Variance, Invariance, Covariance, and Contravariance. Providing a Cheat Sheet.

Java and C# Generics look very similar but they work differently. The difference is because of how the support for Generics is implemented in these languages.

Overview

What Bindings are in Azure Functions, How they currently work with in-process Functions, and how they work a little differently for isolated functions.

Explore the implementation of the Chain of Responsibility pattern in C#, unraveling its hierarchical request-handling approach.

The Observer Design Pattern is one of the most important and commonly used design patterns.

This comprehensive guide covers the benefits, requirements, and best practices associated with using yield in c#

If you follow the Microsoft development community at all, you’ve most likely already heard of the new web development framework called Blazor. If you haven’t heard of it, here’s an overview from the product site:

When you think about database providers for ASP NET Core apps, you probably think about Entity Framework Core (EF Core), which handles interacting with SQL databases. But what about the NoSQL options? A popular option for NoSQL is MongoDB. So in this article we're going to learn how to create a simple ASP NET Core CRUD API using MongoDB as the database provider.

In this article, I want to share one of the ways that big data can be stored and used for analysis.

It is a very common practice to check for null in parameters:

If you write code with .NET Core one day you will have to configure your application.

It is very glad to see that the web technology is improvising day by day. One such notable improvement is the introduction of WebAssembly and direct usage of them in evergreen browsers.

The strategy pattern is one of the most common and easily recognizable patterns but implementing it on the.NET platform is a pain.

Object oriented programming (or OOP) is a style of programming that encapsulates data and behaviours into models known as objects. In this way, related code is grouped together and kept separate from other code, and provides reusable blocks that can be used to rationalise the problem at hand.

A step-by-step guide to developing a Fluent API from scratch in .NET C# using the Builder Design Pattern.

Learn how to implement dependency injection in .NET console applications using IServiceCollection, without needing a hosted application.

.NET 5.0 was officially released this week, bringing with it a range of improvements to the .NET ecosystem. Like many .NET developers, I was quick to download it and give it a test run. This article discusses some of the most exciting new features in .NET 5.

Hangfire is a .NET library that makes it really easy to adding background tasks to your .NET app. It supports one-off "fire and forget" tasks, as well as scheduling recurring tasks. On top of that it supports persistence, so all of your tasks will continue to exist even after restarting your app.

The Contenders

When looking for the perfect .NET reporting solution to design meaningful reports, there are quite a few factors you must consider when evaluating your options.

Explore the top C# .NET PDF API Libraries and their notable features for your applications in this review of leading options.

Dockerize Your C# Code Analysis: A Beginner's Guide to SonarQube and Docker Image.

There are 11 design patterns that can be used to create a factory for creating factories.

Hi everyone! Today I want to share with you some .Net 5 performance tips with benchmarking!

Explore the top C# and VB.NET chart controls and their notable features for your applications in this review of leading options.

Most intermediate dotnet devs writing async await code in C# will come across async void at some point. Here's a creative solution for avoiding the headaches.

In this article, I’ll show you how we can perform simple operations against a Azure Cosmos DB Table API account using the new Azure.Data.Table C# SDK.

In this article, I look into some of the shortages of event-driven programming and suggest behavior trees as an effective alternative, suitable for back/front-end application development.

Entity Framework (EF) is an object-relational mapper (ORM) that provides a set of tools to work with databases in an object-oriented way.

Exception handling is common to most programming languages, and the mechanism and behaviors are similar in most languages: try\catch\finally. It is well documented. We are not going to discuss that.

Dapper and EF Core are popular .NET libraries for data access and management. Both have strengths and weaknesses, and the choice will depend on the project's sp

In this tutorial, we’ll build a Web API using Azure Functions that stores data in Azure Cosmos DB with MongoDB API in C#

Is it me or Functional programming (FP) seems to be trending lately? FP languages like Haskell, Elixir, and F# are stronger than ever and large frameworks try to adopt a more functional approach. Even C# tries to include functional constructs in the language.

Explore the benefits and tradeoffs of implementing the Memento Pattern in C# and elevate your coding skills.

Explore the top C# .NET Word API Libraries and their notable features for your applications in this review of leading options.

Learn how to import and export CSV and Excel XLSX in .NET C# applications.

Coroutines is one of the easiest ways to implement asynchronous behavior in your game. Learning this building block is a must for any aspiring game developer.

LM-Kit .NET SDK now supports tool calling for building AI agents in C#.

If you truly love programming and want to grow as a developer, strive to create something of your own — whether it’s a small library or a service.

Are you stuck on earlier versions of .NET but want to get your hands on the hot new record types? Fear not! Check out this simple solution to simplify things!

How to add GraphQL wrapper along with swagger documentation in ASP.Net C# using NSwag tool

Learn how to safely use async event handlers in C#. Understand the dangers and discover best practices for managing async event handlers in your C# code.

Learn how to zip and unzip compressed files with C#. Beware: it’s not as obvious as it might seem!

In this post I'll show how to use Roslyn Analyzers with C# to enforce some standards of code quality and code style on your code.

Fluent Assertions is a .NET library that provides use with a bunch of useful extension methods that allow us to test our C# code in a more natural way

In C# we have access to Tasks, Threads, or BackgroundWorkers. In this article, we will explore how each one operates at a high level.

About: Eric Lippert

Modularity is central to modern software engineering - or may be all type of engineering not just software. We’ll explore support for modularity in Java and .Net platforms, but before that let’s first try to find answers for what and why of modularity.

From the initial project setup using the .NET CLI to configuring middleware, controllers, and services, learn every step to build a robust API. Discover best

Check out these 3 simple examples of regular expressions in C#! If you're new to regex and coding in CSharp, these are a perfect starting point for you!

It seems almost every week we hear of bugs and security incidents involving smart contracts that result in significant financial and reputation losses.

Software development is a complex task and as a developer you gain nothing from "reinventing the wheel". I'm a firm believer that you should make your life as easy as possible as a developer, by using tried and tested packages where possible; it will take so much headache out of your development experience.

The article explores the different logging options available in C#: ILogger, ILoggerFactory, and ILoggerProvider. By understanding their characteristics

Using YAML Build pipelines, we can define our entire build and release pipeline in a single file!

If you have been programming for any length of time, you may well have come across higher-order functions but may not have fully appreciated them.

In the latest release of .NET 9, several enhancements have been introduced to LINQ, providing developers with more powerful and efficient ways to work with data

A longtime C# developer reflects on how rapid language evolution, new keywords, and feature creep may be making C# less elegant.

Explore C# .NET datagrids and their notable features for your applications in this review of leading options.

Extension methods are one of the coolest features of C#. It allows our custom methods to be used on the objects without needing to extend or change the underlying class.

Dependency injection (DI) is a wonderful thing. Simply add your dependency as a parameter to the constructor (most commonly) of your class, register it with you DI container, and away you go - the DI container will manage the rest. Some of the key benefits of DI are: greater testability, greater maintainability, and greater reusability.

Discover the true spark of your love with this fun and romantic game! Enter your name and the name of your partner, and let Flame Game do the rest.

Interface is mostly viewed as a useful feature to write more maintainable code. But the concept of Interface developed to address a different issue with C++.

Learn how to represent Hierarchical Tree (Parent, Child) form data and its related operations in DotNet (.NET) CSharp (C#) Coding Programming Best Practices

Implement a better enhanced Repository Pattern in DotNet (.NET ) CSharp (C# ) following best practices Dependency Injection (DI) Inversion of Control (IoC)

Learn how to install Autofac, configure the container, and resolve dependencies using various injection methods.

Intro

Compare Visual Studio, Rider, and ChatGPT-4 in C# code analysis. Learn which tool excels and how AI is shaping the future of software development.

The OWASP Top 10 is a standard awareness document for developers and web application security. It represents a broad consensus about the most critical security risks to web applications.

Learn c# programming with examples. C# is an object-oriented programming language, and it is useful to build web, windows, mobile applications.

In past five years, Microsoft had made a rapid enhancements in C# by introducing a plenty major features with every new version, As planed, C# 9.0 will be officially released with .NET 5 on November 2020. So we will dive into C# 9.0 new features that released on 20 may 2020 as a Preview.

edit: Unlike the conclusion of the post below, I based the analyzer on C# CaaS and not .NET IL. Its now available to use https://devsnicket.com/eunice/#csharp. The latter doesn't preserve the order of members of a class either in the dll or pdb. Although, after looking at some open source C# projects, this capability wasn't used by default.

According to Gang of Four, a creational pattern “Builder” allows to separate and reuse a specific method to build something.

Discover SharpRISCV, an interactive web platform for learning and experimenting with RISC-V assembly in your browser.

The article describes how pattern matching effectively utilises and processes data in forms not part of the primary system.

How to achieve 100% coverage of I/O file based applications in DotNet (.NET) CSharp (C#) Test Driven Development (TDD) Development Software Best Practices

The article highlights the importance of limiting the concurrent asynchronous operations, which in turn improves performance.

Learn the best practice on when to use Dependency Injection (DI), Inversion of Control (IoC) and IoC Containers. DotNet .NET CSharp C# Design Architecture

This article explains the basics of inserting documents into MongoDB in C#. See code examples of InsertOne, InsertMany, and their async counterparts.

This post discusses the aggressive and hungry nature of the garbage collection process in .NET as well as a concept that is often referred to as eager root collection.

According to Gang of Four, the iterator pattern provides a process to obtain the aggregator object without knowing its implementation.

Use the facade design pattern to simplify the interaction between subsystems. It provides a single entry point to a subsystem,

See code examples for how to delete documents from MongoDB in C#. This article covers the basics of different methods you can use to delete records from Mongo!

This guide delves into the significance of middleware, the types available, and how to implement custom middleware for specific requirements.

Built a full-stack bookstore app in 100 days using .NET MAUI and Clean Architecture. A real-world project unifying POS, inventory, and online sales in one app.

Intro

Introduction

RISC-V stands out as an open-source instruction set architecture that offers flexibility and adaptability.

As new programmers, we all have to get started somewhere. If you're looking into C# and want to get learning, then this article focuses on all of the C# basics!

Discover how ChatGPT-4 surpasses 90% of developers in solving coding challenges. Explore the future and potential of AI in software development.

Best Practice for designing Interfaces in DotNet (.NET) CSharp (C#). When to define a non-generic interface in addition to the generic interface.

Docker has become an essential tool in modern software development, providing an efficient and portable way to package and distribute applications.

A practical guide to configuring Serilog in .NET 10, filtering noisy logs, and generating daily transaction reports from SQL or NDJSON files.

The Unit of Work design pattern is a software design pattern that is widely used in software development. It is a way to group database-related operations

The repository architectural pattern is frequently employed in software development to segregate an application's business logic from the data access layer. It

The Actor Model was created in 1973. It's designed for high concurrency, scalability and fault tolerance.

Is a string empty? What if it contains only white spaces? You shouldn't reinvent the wheel, since .NET exposes methods exactly for these cases: String.IsNullOrE

Designed for developers familiar with Azure and generative AI, the guide walks you through the process of harnessing the prebuilt model for document intelligenc

Know when to depend on String.GetHashCode() in DotNet (.NET) CSharp (C#), and when not. Coding Programming Software Development Engineering Architecture

Recently I've been learning how to write code in F#. For those who haven't heard of it, F# is Microsoft's/.NET's answer to a functional-first programming language. My motivation was to learn a functional programming language that would make coding for scientific computing and data analysis more expressive, concise, and maintainable, all while fitting seamlessly into the .NET ecosystem that I already know and love. F# fits that bill perfectly.

As we bid farewell to the older syntax, let’s embrace the newer, more expressive way of creating objects.

Disclaimer

Step-by-step guide on how to use the .Net Aspire framework in Visual Studio.

The filter and pipeline patterns can be optimized with code reduction using lambda expression(shortcuts for anonymous method) as concrete filter condition. To demonstrate concept, the sample WPF UI application was created. Here is Source code

Dive in to master Boolean expressions for precise C# coding, ensuring your apps handle user data flawlessly! 🚀

Curious about C# MongoDB insert benchmarks? In this article, I show you BenchmarkDotNet code and the results for several variations of inserting data!

Command Design Pattern is one of the behavioural design patterns used to encapsulate a request as an object, thus enabling to parameterize clients with differen

See how to use the Extract Method refactoring technique to get started on your journey to being more skilled at refactoring! Check out this C# code example!

Step-by-step guide on how to use the .Net Aspire MSSQL component in Visual Studio.

Learn to enhance your C# code’s performance and readability by avoiding exceptions for flow control. Discover a better approach using TryParse.

Certificate rotation is the process of replacing an existing certificate with a new one.

C# 8.0 just rolled out with plenty of new features. One of the most important is the support of nullable reference types (NRT). A bunch of words that don't seem to explain what it does. I mean, aren't all types (except value types) already nullable?

Fast deep cloning library for .NET 8+. Zero-config, works out of the box.

ASP.NET is an open-source server-side web application framework that was developed by Microsoft. It is mostly used for building dynamic websites and applications. It is free and a cross-platform framework. So, today we will be checking out the 11 most asked ASP.NET questions.

Introduction

Learn how to use the .Net Aspire Oracle component in Visual Studio.

Creating a multi-container application can be daunting, but Docker Compose and C# can make it much more straightforward. This article will walk us through the s

Introduction

Serialization involves a process of converting an object into an easily stored format. The article demonstrates the problem with old XML Serialization and how J

Learn how to use Autofac in ASP NET Core applications with only a couple of lines of code! Avoid this common problem when setting up dependency injection.

Which approach is better: an iterator or a materialized collection? In this article we explore common pitfalls with BOTH of these different approaches!

Learn about the Facade design pattern in C# and how it simplifies complex subsystems. Check out these 4 code examples to see how the facade pattern in C# works!

Skipping status reports in conditional branches causes silent delays and race conditions.

Type inference is a common feature among mainstream programming languages. The functional ones, like ML and Haskell, are pioneers in exploring this programming paradigm where the declaration of a variable or a function may omit a type annotation. Today, even classic imperative languages such as C++ offer, to a certain extent, a kind of type inference.

If you've spent much time around C# and .NET, it's likely that you will have come across LINQ (Language-Integrated Query), which allows you to use a range of powerful querying capabilities directly in the C# language.

Step-by-step guide on how to use the .Net Aspire Redis Cache component in Visual Studio.

The article demonstrates the use of various C# helper methods like Sort, Reverse, Clear and Resize. Learn how to use helper methods such as Sort and Reverse.

Check out these benchmarks measuring collection initializer performance in C#. How the heck did I speed up C# collection initialization by 87%?!

Developers often make objects instantiated as soon as the application starts or when a class is instantiated, regardless of whether they are immediately needed

Intro

The article demonstrates the built-in functions while working with file system paths. It makes it easier to handle file paths.

Entity Framework Core (EF Core) is an object-relational mapping (ORM) framework that allows developers to interact with databases using .NET objects. One of the

Today, we'll talk about a bug that shows in practice how "code sausage" can cause a series of problems related to the last line effect

Explore essential C# concepts for .NET developers, from IEnumerable vs. ICollection to async/await, Dependency Injection, and exception handling in .NET Core.

Aggregates are the heart of your system. They hold domain logic and are responsible for emitting events that will eventually make your data consistent across multiples data projections and bounded contexts.

Vexillology and Bit Shifting are often not talked about together. Today though, I encode numbers like 52357729848 into country flags using enums in C#.

.NET developers can evaluate and visualize the codebase using the robust static analysis tool NDepend. It aids programmers in understanding the quality and main

Learn the basics of MongoDB Filtering in C# with simple code examples! See how to use the MongoDB FilterDefinitionBuilder to support filtering in MongoDB.

The article demonstrates the use of null-state analysis to remove compiler warnings of “check code for null safety”.

Day 6 of 30-Day .NET Challenge: String built-in Methods

Unit testing nowadays is pretty much always done using a technique called example-based testing. The method is simple; we run a series of examples against an algorithm, and we validate that we get the expected result.

Use separate exception hierarchies for business and technical errors.

Azure Functions are serverless applications on Microsoft Azure Cloud Platform without worrying about the infrastructure to run it. It’s very similar to the lamb

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.

Test Driven Development (TDD) is a software development cycle that focusses on describing the behaviour of your code first using tests

Learn why query syntax is preferred in LINQ. Discover a better approach using Query Syntax on Day 27 of our 30-Day .NET Challenge.

Step-by-step guide on how to use the .Net Aspire Azure Key Vault component in Visual Studio.

This comprehensive guide unveils the intricacies of implementing the Composite Pattern in C#, providing insights into composite, leaf, and component objects.

Learn how to use Span for optimizing memory management, highlighting the performance benefits.

Testing code that uses .NET's DateTime.Now sucks!!!! This is how to mock them, to properly validate DateTime when writing unit tests.

Learn how to use Feature Flags in ASP.NET Core apps and read values from Azure App Configuration.

Aspect-oriented programming (AOP) provides a robust approach to encapsulate cross-cutting concerns into reusable components called aspects.

Step-by-step guide on how to use the .Net Aspire Azure Queue Storage component in Visual Studio.

The switch statements are available for creating branching logic, each offering distinct advantages based on readability and maintenance.

According to Gang of Four, it defines a chain of responsibilities to process a request. In other words, pass the request from one object to another until an obj

The do-while and while statements provide control over code execution flow by repeating a block of code until a condition is satisfied.

Learn how to use Polly in C# to handle faults and retries with ease! Check these 3 code examples showcasing different use cases of Polly in C#!

Dyslexia has shaped how I read and write code, influencing my preference for structured, easy-to-scan formatting.

Discover how Scrutor enhances dependency injection in C# applications.

Pinning ensures your app only talks to a server you trust.

The article demonstrates the IndexOfAny() method to locate the initial occurrence of any string from a chosen array.

Let's compare Activator.CreateInstance vs Type.InvokeMember! Check out this head to head battle for ways to create instances using reflection in dotnet!

Learn how to perform implicit conversions by using implicit operators in C#. This is a helpful feature that can enhance readability when done with care.

Is it true that the inverse of a negative number is always a positive number? If you think it's true, you might get a subtle error while implementing comparison

EasyTdd 0.5.0 introduces Incremental FluentMock—streamlining .NET mocking with less boilerplate, intuitive setups, and improved test case generation.

8/20/2023: Top 5 stories on the Hackernoon homepage!

Welcome to this module, Day 4 of 30-Day .NET Challenge: For Loops, where let's dive into the world of for statements.

This year was a special edition of MS Build; for obvious reasons, it was 100% virtual. I must say that I had my doubts at first, but I'm forced to admit that Microsoft nailed it. The experience was fantastic. I liked the personal schedule builder and the rebroadcast in 3 different timezones, to only name a few things. Microsoft even took the time to ship the conference's gear to all attendees, DIRECTLY to their doorstep, what a nice touch.

Throughout this module, you will gain knowledge about exceptions, the process of handling exceptions, and the different exception-handling patterns that C# supp

Noonies interview with Sukhpinder Singh, Senior Engineer at SourceFuse.

8/13/2023: Top 5 stories on the Hackernoon homepage!

12 distinct approaches to reading MS Excel files in C#, each with working code, honest strengths and weaknesses, and a clear enterprise verdict.