C# Digest #421: Should I avoid LINQ for performance reasons?

And more news, tutorials and articles about C# and .NET in this week's issue.

#421 — June 27, 2022 View in browser

C# Digest

Spread the word, build the community, share the knowledge with your friends.

sponsor

Get the Most Comprehensive UI Library of .NET MAUI Controls

For the first time, .NET devs can build apps for macOS as they are building their Windows apps! And Telerik UI for .NET MAUI helps you easily create native apps with outstanding UI and UX across all supported mobile & desktop platforms. Check it out.

this week's favorite

Should I avoid LINQ for performance reasons?

In this post I'm specifically talking about LINQ to objects. With LINQ queries against databases (such as when you're using Entity Framework) performance considerations are mostly related to whether the generated SQL is efficient or not.

Feature Flags in .NET, from simple to more advanced

Before we get to the actual content of this post, let's first talk about the concept of feature flags. A feature flag is a way to enable or disable a feature, or code path within an application. Ideally, "the switch" when you turn a feature on or off shouldn't have an effect on the code, nor should it require a new release of the code. It's just a toggle that you can flip on or off via some kind of configuration.

Consuming anonymous types with DiagnosticListener in .NET 6

In the previous post I gave a brief introduction to the DiagnosticSource infrastructure and how you can use it to log events emitted by the .NET framework libraries. If you're new to DiagnosticSource I suggest reading that post first. In this post I look at how to consume objects that are passed as anonymous types.

Observing all http requests in a .NET application

.NET provides multiple APIs to send http requests. You can use the HttpClient class and the obsolete HttpWebRequest and WebClient classes. Also, you may use libraries that send requests out of your control. So, you need to use the hooks provided by .NET to observe all http requests.

Ogooreck, a sneaky testing library in BDD style

I sometimes forget about it in my daily routine. Our work can be very repetitive, HTML form here, HTML form there. Some time ago, I wrote about examples I did in Java. I wrote them using (in my opinion) an interesting approach to testing. Based on Behavior-Driven Development. It is an approach to testing similar to TDD, but the accent lies elsewhere. Instead of technical tests (Arrange / Act / Assert), we’re focusing on the process, so business logic (Given / When / Then). This small change also allows us to better think about the API of the code we are writing.

books

Free eBook: Understanding Databases

Deploy High-Performance Database Clusters in Modern Applications. Develop a high-level understanding of industry-standard databases, the design of database architectures, and different deployment methods in the cloud. Download instantly — no registration required. Download Now.

how did you like this issue?

1 = didn't like it at all and 5 = loved it and shared it with everyone I know

newsletters

© 2022 Bonobo Press

Would you like to advertise with us? Check out our latest media kit for more information.
If you no longer wish to receive these emails, click to unsubscribe.

Older messages

C# Digest #420: Distributed systems evolution challenges

Sunday, June 19, 2022

And more news, tutorials and articles about C# and .NET in this week's issue. #420 — June 20, 2022 View in browser C# Digest Spread the word, build the community, share the knowledge with your

C# Digest #419: The Best C# .NET Web Application Tech Stack: Choosing The Front End

Sunday, June 12, 2022

And more news, tutorials and articles about C# and .NET in this week's issue. #419 — June 13, 2022 View in browser C# Digest Spread the word, build the community, share the knowledge with your

C# Digest #418: Incremental ASP.NET to ASP.NET Core Migration

Sunday, June 5, 2022

And more news, tutorials and articles about C# and .NET in this week's issue. #418 — June 06, 2022 View in browser C# Digest Spread the word, build the community, share the knowledge with your

C# Digest #417: Waiting to never happen

Sunday, May 29, 2022

And more news, tutorials and articles about C# and .NET in this week's issue. #417 — May 30, 2022 View in browser C# Digest Spread the word, build the community, share the knowledge with your

C# Digest #416: Asynchronous programming in C#

Sunday, May 22, 2022

And more news, tutorials and articles about C# and .NET in this week's issue. #416 — May 23, 2022 View in browser C# Digest Spread the word, build the community, share the knowledge with your

You Might Also Like

📧 Working with LLMs in .NET using Microsoft.Extensions.AI

Saturday, January 11, 2025

​ Working with LLMs in .NET using Microsoft․Extensions․AI Read on: m​y website / Read time: 6 minutes The .NET Weekly is brought to you by: ​Transform your database performance with RavenDB​:

iOS Dev Weekly – Issue 694

Friday, January 10, 2025

Hopefully you won't see that much difference with receiving this issue, but it's ALL CHANGED behind the scenes! 😱 ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Daily Coding Problem: Problem #1664 [Easy]

Friday, January 10, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Twitter. A permutation can be specified by an array P , where P[i] represents the

Spyglass Dispatch: The Case for a For-Profit OpenAI

Friday, January 10, 2025

RIP Venu • A More Political and Real Time Threads • An OpenAI Auction • Apple's Tough 2025 The Spyglass Dispatch is a newsletter sent on weekdays featuring links and commentary on timely topics

⌨️ 10 Mods to Improve Your Mechanical Keyboard — How to Set Up Quick Share on Windows

Friday, January 10, 2025

Also: Why Are Tech Companies Trying to Sell Me Expensive Clocks? How-To Geek Logo January 10, 2025 Did You Know Famed biologist Charles Darwin and US President Abraham Lincoln were born on the same day

Your best friends in design

Friday, January 10, 2025

​ Working With Designers Product manager & UX designer collaboration guide. How members of your product team work together is just as important as the work itself. A fundamental relationship within

Charted | How Canada Would Rank as the 51st State 📊

Friday, January 10, 2025

Donald Trump has floated the idea that Canada should be the 51st state. Here's how it compares statistically. View Online | Subscribe | Download Our App Presented by: Global X ETFs Power AI's

Pinpointing The Actual Problem 🎯

Friday, January 10, 2025

WordPress accidentally diagnoses its own business problem. Here's a version for your browser. Hunting for the end of the long tail • January 10, 2025 Pinpointing The Actual Problem A blog post from

😱Major Azure Outage in EastUS2, 🚀New AI and Azure Developer CLI Courses, azureedge.net DNS retiring

Friday, January 10, 2025

͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏ ‌ ͏

iOS Cocoa Treats

Friday, January 10, 2025

View in browser Hello, you're reading Infinum iOS Cocoa Treats, bringing you the latest iOS related news straight to your inbox every week. Adopting Swift 6 across the app codebase I've been