Home Archive C# tips, Azure AI, and .NET 10 previews – .NET News Daily Issue #150 (Mar 11, 2025)

Editor's note

I kept this issue deliberately mixed, from language-level C# cleanups to platform and AI work. The Visual Studio productivity update and the .NET 10 preview pieces are especially useful if you track what’s landing next, while the RAG and Copilot articles reflect where day-to-day workflows are heading.

C# tips, Azure AI, and .NET 10 previews

As Tuesday rolls around, much like a vintage vinyl on a steady turntable, it's the perfect day to pause and ponder the .NET landscape. With the precision of a seasoned chess master, this edition is crafted to challenge your skills and expand your toolkit. Each article is a carefully selected gem, offering insights that will enhance your coding prowess while sparking an introspective "aha!" moment or two. Let's journey through this digital symphony and master the .NET groove like only Gen X can.

Today's Articles

C# Local Functions: Your Secret Weapon for Cleaner Code

https://medium.com/@nagarajvela/c-local-functions-your-secret-weapon-for-cleaner-code-8e281e83a9d9

Hands-On Guide to Mastering Local Functions in C# for Readable, Efficient Code Continue reading on Level Up Coding »

Journey 2: Build the Ultimate Retrieval System for RAG

https://www.youtube.com/watch?v=bURCZeCSx2A

Understanding AI-assisted coding workflows

https://blog.makerx.com.au/understanding-ai-assisted-coding-workflows/

Not all AI-assisted coding workflows are created equal, and the variance across foundation models is substantial. With different available tool integrations and prompting strategies for each model, th...

Microsoft Fabric: Writing to OneLake with .NET C#

https://christianhenrikreich.medium.com/microsoft-fabric-writing-to-onelake-with-net-c-fcd8456bba5b

It is just an Azure Data Lake

.NET Monthly - February 2025 - Visual Studio update, .NET Aspire 9.1, .NET 10 Preview 1, and more!

https://www.youtube.com/watch?v=0QvPmz4GY-s

What is an On-Behalf-Of (OBO) Token and How to Use It

https://www.csharp.com/article/what-is-an-on-behalf-of-obo-token-and-how-to-use-it/

In modern applications, users often delegate access to APIs or services through authentication mechanisms. The On-Behalf-Of (OBO) token is a security feature that allows a service to request access to...

Implement Scalar UI in .NET API with Authorization Option

https://www.csharp.com/article/implement-scalar-ui-in-net-api-with-authorization-option/

This article covers how to integrate Scalar UI, set up role-based authorization, and implement secure user authentication within your .NET API to ensure smooth, secure interactions.

The Power of Underscore (_) in C#

https://medium.com/@julakadaredrishi/the-power-of-underscore-in-c-1076177e05d3

C# is a rich and expressive language, and one of its most versatile yet often overlooked characters is the underscore (_). While it may… Continue reading on AWS in Plain English »

Carcass in Azure Functions: Part 1 — Durable Functions, High-Performance Logging & FunctionContext

https://medium.com/@serhiikokhan/carcass-in-azure-functions-part-1-durable-functions-high-performance-logging-functioncontext-798b1705d59e

Build scalable apps with Carcass and Azure Functions. Explore Durable Functions, high-performance logging, and FunctionContext management.

Code Refactoring Using Copilot: The Copilot Show - Ep. 5

https://www.csharp.com/article/code-refactoring-using-copilot-the-copilot-show-ep-5/

Code Refactoring Using Copilot, hosted by Mahesh Chand, where we explore how AI is revolutionizing the way developers approach code refactoring.

Fix Error “Too Many Transient Failure Retries Permanent Exception”

https://www.csharp.com/article/fix-error-too-many-transient-failure-retries-permanent-exception/

Encountering the 'Too Many Transient Failure Retries Permanent Exception' error during Exchange Online migrations? This guide explains the causes—network issues, throttling, corrupted items—and provid...

Azure Private DNS Resolver using Outbound Endpoint

https://logcorner.com/azure-private-dns-resolver-using-outbound-endpoint/

In the spoke virtual network, configure the custom DNS server to use the private IP address of the DNS resolver inbound endpoint (e.g., 10.200.0.70). When a client within the virtual network issues a ...

How to Implement Retrieval Augmented Generation (RAG) in .NET Using OpenAI API

https://medium.com/asp-dotnet/how-to-implement-retrieval-augmented-generation-rag-in-net-using-openai-api-1f3f1f41e128

In this article, we’ll explore how to implement Retrieval Augmented Generation (RAG) in .NET using the powerful OpenAI API. RAG combines… Continue reading on ASP DOTNET »

Unlock .NET Efficiency: Data Structures Every Dev Must Know

https://medium.com/@kohzadi90/unlock-net-efficiency-data-structures-every-dev-must-know-81687383f019

Data structures are the backbone of software development, providing efficient ways to store, organize, and manipulate data. In .NET…

Code Breakdown — Dependency Injection in .NET

https://medium.com/@jenilsojitra/code-breakdown-dependency-injection-in-net-53685832e5d3

Master Dependency Injection in .NET to improve code maintainability, scalability, and testability with real-world examples.

C# 14 Features in .NET 10 Preview 1: What Developers Need to Know

https://medium.com/write-a-catalyst/c-14-features-in-net-10-preview-1-what-developers-need-to-know-6b3ff30a9f60

These features are worth investigating if you’re in charge of maintaining high-quality code. Continue reading on Write A Catalyst »

Harnessing .NET 10’s Numeric String Comparison: A Game-Changer for Your Code

https://medium.com/@shamuddin/harnessing-net-10s-numeric-string-comparison-a-game-changer-for-your-code-5c5275ace6ff

Unlock the power of .NET 10’s numeric string comparer to effortlessly sort and compare strings with embedded numbers, boosting code…

Great new productivity features in Visual Studio

https://devblogs.microsoft.com/visualstudio/great-new-productivity-features-in-visual-studio/

Sometimes it’s the little things in life that matter the most. In the latest version of Visual Studio, we’ve added some features and tweaks that aim to put a smile on your face and make you more produ...

The case against IAsyncEnumerable

https://medium.com/@tomas.madajevas/the-case-against-iasyncenumerable-t-eab57b8cc5d1

While title sounds bold, the actual case is much shallower one: returning it as WEB API response.

Embracing True Asynchronous Programming in .NET

https://medium.com/@shamuddin/embracing-true-asynchronous-programming-in-net-740f5bedb1fd

The power of modern .NET asynchronous programming with our expert guide. Learn efficient, scalable coding techniques using Task.WhenAll… Continue reading on Towards Dev »

.NET Core Web API Project Setup Guide

https://medium.com/@hansduran25/net-core-web-api-project-setup-guide-cba02310adba

Prerequisites

Naming the Numerical Chaos: .NET 10’s String Comparison Revolution

https://medium.com/@mdasraful.islam/naming-the-numerical-chaos-net-10s-string-comparison-revolution-151ba49c48df

When developing software that handles lists or datasets containing strings with embedded numbers, one of the most frustrating issues…

Bringing Digital Voices to Life: Azure AI Text-to-Speech Avatar

https://www.csharp.com/article/bringing-digital-voices-to-life-azure-ai-text-to-speech-avatar/

Azure AI Text-to-Speech Avatar is a tool designed to create digital avatars that can speak in a remarkably human-like manner. This innovation is changing the way we interact with AI, making virtual as...

Microsoft .NET Code Analysis: Creating Empty Arrays

https://dotnettips.wordpress.com/2025/03/05/microsoft-net-code-analysis-creating-empty-arrays/

Arrays are a key collection type in .NET. There are three methods to create empty arrays: new string[0], Array.Empty(), and the concise [] expression. Benchmark tests show the [] expression is the fas...

Jasen's take on today's picks

C# Local Functions: Your Secret Weapon for Cleaner Code

Local functions are still one of the easiest ways to tighten up C# without overengineering the method.

Journey 2: Build the Ultimate Retrieval System for RAG

This RAG walkthrough is about building retrieval the right way, not just wiring up an API and hoping for answers.

Understanding AI-assisted coding workflows

AI-assisted coding works best as a workflow, and this piece focuses on the discipline behind the tools.

Microsoft Fabric: Writing to OneLake with .NET C#

Writing to OneLake with .NET is a practical look at how Fabric meets app code in the real world.

.NET Monthly - February 2025 - Visual Studio update, .NET Aspire 9.1, .NET 10 Preview 1, and more!

The monthly roundup is the fastest way to catch Visual Studio, Aspire, and .NET 10 changes in one pass.

What is an On-Behalf-Of (OBO) Token and How to Use It

OBO tokens are one of those identity patterns that are simple in concept and easy to get wrong in practice.

Implement Scalar UI in .NET API with Authorization Option

Scalar UI with authorization is a good reminder that developer tooling still needs to respect API security.

The Power of Underscore (_) in C#

The underscore article leans into a small syntax choice that can still improve readability and intent.

Carcass in Azure Functions: Part 1 — Durable Functions, High-Performance Logging & FunctionContext

This Azure Functions piece is interesting for the logging and FunctionContext details as much as the durable workflow.

Code Refactoring Using Copilot: The Copilot Show - Ep. 5

Copilot-based refactoring is useful when you want examples of AI helping with real code changes, not hype.

Fix Error “Too Many Transient Failure Retries Permanent Exception”

Transient failure retries only look harmless until they become permanent noise, so this troubleshooting article earns its keep.

Azure Private DNS Resolver using Outbound Endpoint

Private DNS Resolver outbound endpoints are niche, but they matter once Azure networking gets serious.

How to Implement Retrieval Augmented Generation (RAG) in .NET Using OpenAI API

RAG in .NET with OpenAI is a practical companion to the retrieval-system video and shows the app-side implementation.

Unlock .NET Efficiency: Data Structures Every Dev Must Know

Data structure choices are still one of the fastest ways to improve .NET performance without changing architecture.

Code Breakdown — Dependency Injection in .NET

A dependency injection breakdown is always worth a read because the basics still drive most production code.

C# 14 Features in .NET 10 Preview 1: What Developers Need to Know

C# 14 in .NET 10 Preview 1 is the kind of preview coverage that helps teams plan ahead.

Harnessing .NET 10’s Numeric String Comparison: A Game-Changer for Your Code

Numeric string comparison in .NET 10 sounds small, but it can simplify code that deals with mixed values.

Great new productivity features in Visual Studio

Visual Studio's productivity updates are the sort of day-to-day improvements developers feel immediately.

The case against IAsyncEnumerable

The case against IAsyncEnumerable is useful because it pushes you to think about tradeoffs, not assumptions.

Embracing True Asynchronous Programming in .NET

True asynchronous programming is a good counterpoint here, since async design is often about intent as much as syntax.

.NET Core Web API Project Setup Guide

A clean Web API setup guide is always handy for onboarding or resetting a project the right way.

Naming the Numerical Chaos: .NET 10’s String Comparison Revolution

Another take on numeric string comparison, which shows how much attention this .NET 10 change is getting.

Bringing Digital Voices to Life: Azure AI Text-to-Speech Avatar

Azure AI text-to-speech avatars sit at the intersection of media, AI, and application building.

Microsoft .NET Code Analysis: Creating Empty Arrays

Empty array guidance may sound minor, but these code-analysis details add up in performance-sensitive code.

Related issues

📬 Get daily .NET content delivered to your inbox