Bestselling


Head First C# Head First C#
by Jennifer Greene, Andrew Stellman
Second Edition
Print: $49.99
Ebook: $39.99
Bundle: $54.99

Microsoft® Visual C#® 2010 Step by Step Microsoft® Visual C#® 2010 Step by Step
by John Sharp
Print: $44.99
Ebook: $35.99
Bundle: $49.49

C# 4.0 Pocket Reference C# 4.0 Pocket Reference
by Ben Albahari, Joseph Albahari
Third Edition
Print: $14.99
Ebook: $11.99
Bundle: $16.49

C# 4.0 in a Nutshell C# 4.0 in a Nutshell
by Joseph Albahari, Ben Albahari
Fourth Edition
Print: $49.99
Ebook: $39.99
Bundle: $54.99

CLR via C# CLR via C#
by Jeffrey Richter
Third Edition
Print: $59.99
Ebook: $47.99
Bundle: $65.99

New


C# Database Basics C# Database Basics
by Michael Schmalz
Print: $19.99
Ebook: $9.99
Bundle: $21.99

Real World .NET, C#, and Silverlight Real World .NET, C#, and Silverlight
Ebook: $35.99

Start Here!™ Learn Microsoft® Visual C#® 2010 Start Here!™ Learn Microsoft® Visual C#® 2010
by John Paul Mueller
Print: $34.99
Ebook: $27.99
Bundle: $38.49

Developer's Guide to Collections in Microsoft® .NET Developer's Guide to Collections in Microsoft® .NET
by Calvin Janes
Print: $34.99
Ebook: $23.99
Bundle: $38.49

20 Recipes for Programming MVC 3 20 Recipes for Programming MVC 3
by Jamie Munro
Print: $19.99
Ebook: $16.99
Bundle: $21.99

Upcoming


Programming Microsoft® ADO.NET 4 Programming Microsoft® ADO.NET 4
by David Sceppa
Print: $35.99

More C# Books


LinqPad Webcast

Writing LINQ Queries with LINQPad

More Webcasts


C# Experts

Tony Northrup Tony Northrup , a Boston-area network security consultant and technology author, developed his interest in home automation after renting an apartment where every light was controlled by pulling a string. Tony's wife, Erica, ensures his home hacking projects are user-friendly and reliable, while his cat, Sammy, mangles every project within paw's reach.…

Noah Gift Noah Gift is the co-author of Python For Unix and Linux by O'Reilly. He is an author, speaker, consultant, and community leader, writing for publications such as IBM Developerworks, Red Hat Magazine, O'Reilly, and MacTech, and Manning.

Judith Bishop Judith Bishop is a computer scientist, in Pretoria South Africa, specializing in the application of programming languages to distributed systems and web-based technologies. She is internationally known as an advocate of new technology. Her books on Java and C# have been published in six languages. She represents South Africa on IFIP TC2…

Mike Amundsen Mike Amundsen lives and works as a web developer and project manager in Kentucky, USA. He currently spends most of his time building large-scale RESTful web applications running under Windows and ASP.NET. He has also worked as a trainer/speaker and is the author of several books on programming with Microsoft technologies.

Brian Desmond Brian Desmond spends his days focused on Active Directory for some of the world's largest companies. A Microsoft MVP since 2004, Brian brings extensive knowledge of how Active Directory works and how to successfully run Active Directory deployments large and small.

Chris Smith Chris Smith is a Software Design Engineer on the F# team at Microsoft. Although he helped design the language, his official role is to test the product to make sure it is ready to ship. Which means he understands the details of F# better than anybody else on the team. You can…

Ade Miller Ade Miller works as a Development Lead with Microsoft's patterns & practices group, where he manages several agile teams who deliver applied engineering guidance to Microsoft's customers.

Rob Miles Rob Miles has been teaching computer programming for more than 25 years. An expert on Visual C# and a Microsoft MVP for Device Application Development, Rob enjoys inspiring new and experienced programmers.

More C# Experts

Learn C# Online

Certificate Series
.NET Programming Certificate — Beginning and intermediate programmers will get a solid foundation in .NET programming. The certificate series includes these three courses: Learn XML; Learn Object-Oriented Programming Using Java; and Learn C#. Enroll today!

More Courses


C# Answers

O'Reilly Answers: Clever Hacks. Creative Ideas. Innovative Solutions.

C# News & Commentary

Functions are values: explore C# lambda types in Visual Studio

By Andrew Stellman
April 9, 2011

I love that a college professor of mine from long ago, Bob Harper, is tackling the tricky issue of how to teach students about the nature of functions in his new Existential Type blog. His post got me thinking about how you'd go about teaching this concept to a learner—specifically, in my case, a C# learner. I've given it a bit of thought, and here's what I've come up with.

Understanding C#: Nullable Types

By Andrew Stellman
November 7, 2010

Every C# developer knows how to work with value types like int, double, boolean, char, and DateTime. They're really useful, but they have one flaw: they can't be set to null. Luckily, C# and .NET give you a very useful tool to for this: nullable types. You can use a nullable type any place that you need a variable that can either have a value or be null. This seems like a simple thing, but it turns out to be a highly flexible tool that can help make your programs more robust. In this tutorial, I'll show you the basics of nullable types, and give you a quick example of a program that uses them to handle unpredictable user input.

Understanding C#: Simple LINQ to XML examples (tutorial)

By Andrew Stellman
October 16, 2010

XML is one of the most popular formats for files and data streams that need to represent complex data. The .NET Framework gives you some really powerful tools for creating, loading, and saving XML files. And once you've got your hands on XML data, you can use LINQ to query anything from data that you created to an RSS feed. In this post, I'll show you two simple LINQ to XML tutorial style examples that highlight basic patterns that you can use to create or query XML data using LINQ to XML.

Understanding C#: Equality, IEquatable, and Equals()

By Andrew Stellman
September 29, 2010

What does it really mean for two objects to be equal? How can you tell if object #1 is equal to object #2? Do you compare all of their properties? What about private properties or fields? Is it possible for two objects to have exactly the same state, but to not be equal? It's more complex than it seems. In this post, I'll detangle some of those ideas, and show you how to use IEquatable, the Equals() and GetHashCode() methods, and overloading the == and =! operators so that you can compare objects in your own code.

Understanding C#: Raising events using a temporary variable

By Andrew Stellman
September 10, 2010

A lot of C# developers notice that there's something odd about how we normally raise events in C#. We're always told to set a temporary variable equal to the event first, and then raise the event using that variable. It looks very strange—how could that variable do anything at all? But it turns out that there's a very good reason for using the temporary variable, and understanding that reason can help you become a better C# developer. This post shows a quick example of why you need that variable.

Build HTML documentation for your C# code with Sandcastle in under 5 minutes

By Andrew Stellman
September 3, 2010

If you've ever used a library that has accurate MSDN-style API documentation, you know how useful it can be. There are lots of ways to create HTML documentation. But the easiest way that I've found is to use Sandcastle. It's an open source documentation generator from Microsoft that reads your assemblies (DLL or EXE files) and their XML Comments and automatically generates HTML documentation. Sandcastle is a very flexible tool, which means it's also a very complex tool. Luckily, there's a companion tool, Sandcastle Help File Builder, that makes it really easy to get up and running with Sandcastle in minutes.

More C# News & Commentary

Popular Topics

Browse Books & Videos

International Sites

O'Reilly China O'Reilly Germany O'Reilly Japan