Joseph Albahari
Home Contact

Welcome to albahari.com

C# 7.0 in a Nutshell

It's time once more for a refresh! C# 7.0 in a Nutshell builds on the acclaimed previous editions, featuring input from top technical reviewers, with new material on tuples, deconstructors, pattern matching, discards, and more.

LINQPad - more than 2 million downloads

The popular interactive .NET scratchpad keeps getting better: LINQPad now supports C# 7 and VB 15, as well as F# and SQL. 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!

10 LINQ Myths

The ten most common misconceptions, and how they set people awry.

Query Express

For those not yet 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...

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

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-2017 Joseph Albahari