<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/nickchapsas/best-of/2025/04" -->

---
title: Best Nick Chapsas posts — April 2025 | daily.dev
description: The most upvoted Nick Chapsas posts from April 2025, curated by the daily.dev community.
canonical: https://daily.dev/sources/nickchapsas/best-of/2025/04
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/nickchapsas/best-of/2025/04
og:type: website
og:site_name: daily.dev
og:title: Best Nick Chapsas posts — April 2025 | daily.dev
og:description: The most upvoted Nick Chapsas posts from April 2025, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of Nick Chapsas — April 2025

1. 1  
[](https://daily.dev/posts/the-in-keyword-in-c-is-awesome-c2nylryz4 "The "in" keyword in C# is Awesome")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
The "in" keyword in C# is Awesome  
The 'in' keyword in C# allows structs to be passed by reference while making them read-only within the method for performance optimization. This avoids costly copying of large structs. However, if the struct isn't marked as readonly, hidden defensive copies may occur, reducing performance benefits. Combining 'in' with 'readonly struct' or read-only members maximizes performance gains.  
23  
1
2. 2  
[](https://daily.dev/posts/the-new-extension-members-of-c-are-insane-k1x5kl93p "The New Extension Members of C# are INSANE")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
The New Extension Members of C# are INSANE  
Nick introduces a new feature in .NET called extension members, which allows developers to add instance and static members to types using the new 'extension' keyword. This feature enhances existing extension methods by enabling extension properties and extending functionality without being limited to static methods. Nick demonstrates how to implement and use these new features through various examples and discusses the potential impact on how developers write C# code.  
14
3. 3  
[](https://daily.dev/posts/don-t-use-async-void-in-c--bt4nksy2q "Don't use async void in C#")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
Don't use async void in C#  
Async void methods in C# should generally be avoided because they can't be properly awaited, leading to issues with error handling and control flow. The only appropriate use of async void is in event handlers, where tasks are not returned.  
13
4. 4  
[](https://daily.dev/posts/the-linq-trap-in-net-kusumguir "The LINQ trap in .NET")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
The LINQ trap in .NET  
Understanding the deferred execution in LINQ is crucial as it can cause unexpected data changes in .NET. LINQ methods like where, select, and take build a query rather than executing immediately. This allows adding conditions dynamically, but beware of data changes before execution, as they will reflect in the results. Knowing these rules makes LINQ a powerful tool.  
12
5. 5  
[](https://daily.dev/posts/c-is-not-java-done-right-hear-me-out--dpejcnto5 "C# is NOT Java Done Right. Hear me out.")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
C# is NOT Java Done Right. Hear me out.  
Nick, a C# developer, reacts to Forest Knight's video claiming C# is Java done right. He discusses the merits and drawbacks of C#, Java, and Kotlin, highlighting features such as memory optimization, properties, exceptions, and async programming. Nick ultimately considers Kotlin as Java done right and emphasizes that despite advancements in languages, job availability remains crucial when choosing a language for development.  
11  
1
6. 6  
[](https://daily.dev/posts/arraypool-in-net-is-insanely-fast-rwwlw5ayd "ArrayPool in .NET is insanely fast")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
ArrayPool in .NET is insanely fast  
ArrayPool.Shared allows you to rent and reuse arrays to skip garbage collection, perfect for high-performance scenarios like JSON parsing, file I/O, or handling thousands of requests per second. Always return the array to the pool when done, and clear it if it contains sensitive data.  
10
7. 7  
[](https://daily.dev/posts/ref-structs-in-c-are-insane--ipupp2ddh "ref structs in C# are INSANE!")  
Video  
![Avatar of nickchapsas](https://media.daily.dev/image/upload/s--T_RLq3JV--/f_auto/v1716024738/logos/nickchapsas)Nick Chapsas · 1y  
ref structs in C# are INSANE!  
Ref structs in C# are special kinds of structs that must remain on the stack, making them incredibly fast and safe for high-performance scenarios. They allow for high-speed memory access and manipulation without allocations but come with strict rules such as not being boxable, not usable in async methods, and not storable on the heap.  
10  
3

[See all Nick Chapsas archives](/sources/nickchapsas/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/sources/nickchapsas/best-of/2025/04#page","url":"https://daily.dev/sources/nickchapsas/best-of/2025/04","name":"Best Nick Chapsas Posts — April 2025","description":"The most upvoted Nick Chapsas posts from April 2025, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/sources/nickchapsas/best-of/2025/04#items","numberOfItems":7,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/the-in-keyword-in-c-is-awesome-c2nylryz4","name":"The \"in\" keyword in C# is Awesome"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/the-new-extension-members-of-c-are-insane-k1x5kl93p","name":"The New Extension Members of C# are INSANE"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/don-t-use-async-void-in-c--bt4nksy2q","name":"Don't use async void in C#"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/the-linq-trap-in-net-kusumguir","name":"The LINQ trap in .NET"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/c-is-not-java-done-right-hear-me-out--dpejcnto5","name":"C# is NOT Java Done Right. Hear me out."},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/arraypool-in-net-is-insanely-fast-rwwlw5ayd","name":"ArrayPool in .NET is insanely fast"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/ref-structs-in-c-are-insane--ipupp2ddh","name":"ref structs in C# are INSANE!"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":"Nick Chapsas","item":"https://daily.dev/sources/nickchapsas"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/sources/nickchapsas/best-of"},{"@type":"ListItem","position":5,"name":"April 2025"}]}]}
```

