C# 12 in a Nutshell
It's time once more for a refresh! C# 12 in a Nutshell builds on the acclaimed previous editions, thoroughly updated for C# 12 and .NET.
LINQPad - more than 4 million downloads
The popular interactive .NET scratchpad keeps getting better: LINQPad
now supports C# 13 and .NET 9. Put an end to those hundreds of Visual Studio Console
projects cluttering your source folder, and join the revolution of LINQPad scripters and incremental developers!
Talks
See videos and abstracts of my past and upcoming conference talks.
Threading in C#
An extensive article on
multithreading in C#. This tackles
difficult issues such as
thread safety, when to use
Abort,
Wait Handles vs Wait and Pulse, the implications of
Apartment Threading in Windows Forms, using
Thread Pooling,
Synchronization Contexts, Memory Barriers and
non-blocking
synchronization constructs.
Full Contents
Query Express (legacy)
For those not ready for LINQPad, this simple and free 100KB
database query tool written in C# lets you run SQL
interactively on SQL Server, Oracle or an OLE-DB compliant databases.
It includes an object browser, text/grid results, saving to XML/CSV format, and
support for batching via the 'GO' keyword. No installation required and full source
code available. More on Query Express...
10 LINQ Myths
The ten most common misconceptions, and how
they set people awry.
More Articles
Dynamically building
LINQ expression predicates This describes a simple and elegant solution
to the problem of dynamically composing Expression<> based predicates in LINQ.
Speeding up LINQ
to SQL Three ways to squeeze the maximum performance out of this technology.
Value Types vs Reference Types A tutorial explaining
how value and reference types work in C# and .NET. This covers the differences
in the way objects are created and disposed, how memory allocation works, and common
traps.
© 2003-2024 Joseph Albahari