I feel we have a cargo cult on using ConfigureAwait without thinking too much.
youtu.be/bUHQeY-DlBc?...
I feel we have a cargo cult on using ConfigureAwait without thinking too much.
youtu.be/bUHQeY-DlBc?...
The code generation for method group conversion has changed in C# 11 to avoid allocations in certain cases.
The code generation for method group conversion has changed in C# 11 to avoid allocations in certain cases.
#dotnet10, #performance
#dotnet10, #performance
Here is an example:
Here is an example:
Iterating a list via IList<T>, or dictionary via 'IDictionary<K,V>', etc., now has almost zero abstraction penalty!
Iterating a list via IList<T>, or dictionary via 'IDictionary<K,V>', etc., now has almost zero abstraction penalty!
hubs.la/Q03Q9PGP0
More details, and the story of how I came to write it, are on my blog at
ericlippert.com/2025/10/30/i...
It feels great to be writing again after a long break. :)
hubs.la/Q03Q9PGP0
More details, and the story of how I came to write it, are on my blog at
ericlippert.com/2025/10/30/i...
It feels great to be writing again after a long break. :)
One option that I've found is to set 'TreatWarningsAsErrors' to true, and set 'CodeAnalysisTreatWarningsAsErrors' to false.
Is there a better way?
/cc: @jaredpar.bsky.social, @terrajobst.net
One option that I've found is to set 'TreatWarningsAsErrors' to true, and set 'CodeAnalysisTreatWarningsAsErrors' to false.
Is there a better way?
/cc: @jaredpar.bsky.social, @terrajobst.net
In 2021 I found an invisible memory leak in a tool (VS Code) that I have never used. Impossible? Easy:
randomascii.wordpress.com/2025/10/09/f...
In 2021 I found an invisible memory leak in a tool (VS Code) that I have never used. Impossible? Easy:
randomascii.wordpress.com/2025/10/09/f...
This time, it's about Parallel Stacks - my very favorite
@visualstudio.com
feature that you probably are not using enough!
I can't even count how many times it helped me production incidents investigations!
youtu.be/Z5mN0VCB-KA?...
This time, it's about Parallel Stacks - my very favorite
@visualstudio.com
feature that you probably are not using enough!
I can't even count how many times it helped me production incidents investigations!
youtu.be/Z5mN0VCB-KA?...
Thanks a lot everyone for your support and warm feedback that I'm getting!
Thanks a lot everyone for your support and warm feedback that I'm getting!
This time its all about ConfigureAwait, why we ended up having it and how it works under the hood!
#dotnet folks, please share! I'll really appreciate it!
youtu.be/RZsLA_R8i9s?...
This time its all about ConfigureAwait, why we ended up having it and how it works under the hood!
#dotnet folks, please share! I'll really appreciate it!
youtu.be/RZsLA_R8i9s?...
Even if you think you know them, it is a good read as a reminder! 😎
#dotnet #csharp
Even if you think you know them, it is a good read as a reminder! 😎
#dotnet #csharp
Your support means the world!
/cc: @scott.hanselman.com, @ardalis.com, @terrajobst.net, @migueldeicaza.bsky.social and every other member of .net community!
Async methods might be scary for some, but they're not that complicated if you can debug the async machinery to understand how they work!
This is exactly what I did in the last video - "Let's debug async/await in C#".
youtu.be/oHKyzgGjKHQ?...
Your support means the world!
/cc: @scott.hanselman.com, @ardalis.com, @terrajobst.net, @migueldeicaza.bsky.social and every other member of .net community!
Async methods might be scary for some, but they're not that complicated if you can debug the async machinery to understand how they work!
This is exactly what I did in the last video - "Let's debug async/await in C#".
youtu.be/oHKyzgGjKHQ?...
Async methods might be scary for some, but they're not that complicated if you can debug the async machinery to understand how they work!
This is exactly what I did in the last video - "Let's debug async/await in C#".
youtu.be/oHKyzgGjKHQ?...
/cc: @migueldeicaza.bsky.social, @scott.hanselman.com and other folks, I love to discuss this topic!
You might disagree with my take! But its time to reconsider some old patterns.
It’s time to reconsider the Dispose Pattern and abandon Dispose(bool disposing) nonsense. Let’s move to a simpler approach and never mix managed and native resources.
youtu.be/E6tQDczhrUM?...
/cc: @migueldeicaza.bsky.social, @scott.hanselman.com and other folks, I love to discuss this topic!
You might disagree with my take! But its time to reconsider some old patterns.
It’s time to reconsider the Dispose Pattern and abandon Dispose(bool disposing) nonsense. Let’s move to a simpler approach and never mix managed and native resources.
youtu.be/E6tQDczhrUM?...
It’s time to reconsider the Dispose Pattern and abandon Dispose(bool disposing) nonsense. Let’s move to a simpler approach and never mix managed and native resources.
youtu.be/E6tQDczhrUM?...
Could you please share this tweet about how to unlock most of the C# productivity features even targeting .NET Framework or .netstandard2.0.
Appreciate your support!
Quite a few devs limit themselves with C# 7.3 when they target full framework or .netstandard2.0.
You still can leverage most of the latest C# features in this case.
youtu.be/5eNtdj68qW4?...
Could you please share this tweet about how to unlock most of the C# productivity features even targeting .NET Framework or .netstandard2.0.
Appreciate your support!
Quite a few devs limit themselves with C# 7.3 when they target full framework or .netstandard2.0.
You still can leverage most of the latest C# features in this case.
youtu.be/5eNtdj68qW4?...
Quite a few devs limit themselves with C# 7.3 when they target full framework or .netstandard2.0.
You still can leverage most of the latest C# features in this case.
youtu.be/5eNtdj68qW4?...
Just published another episode on Dissecting the Code channel: How Google Broken the Internet and Why It Took 3 Hours to Recover?
It's about null pointer bugs, retry logic and a bit of .NET Aspire used for visualizing the metrics.
Please share and sub!
Just published another episode on Dissecting the Code channel: How Google Broken the Internet and Why It Took 3 Hours to Recover?
It's about null pointer bugs, retry logic and a bit of .NET Aspire used for visualizing the metrics.
Please share and sub!
Project Reference Graph
New tab that shows the project graph layered by project "height". Each project only references projects above it.
Clicking a project highlights all directly referenced projects above, and all projects below it that reference this one.
Project Reference Graph
New tab that shows the project graph layered by project "height". Each project only references projects above it.
Clicking a project highlights all directly referenced projects above, and all projects below it that reference this one.
if (x == null)
{
...
}
if (x == null)
{
...
}
Just published another episode on Dissecting the Code YouTube channel: “Shooting yourself in a foot with the finalizers”.
Crashes due to NullReferenceException, race conditions, constructors that finish before the finalizers, and all the fun stuff!
youtu.be/Wh2Zl1d57lo?...
Just published another episode on Dissecting the Code YouTube channel: “Shooting yourself in a foot with the finalizers”.
Crashes due to NullReferenceException, race conditions, constructors that finish before the finalizers, and all the fun stuff!
youtu.be/Wh2Zl1d57lo?...