C# Digest #421: Should I avoid LINQ for performance reasons?
#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
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: my 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