Bestselling


No Books Were Found.

New


Mastering NServiceBus and Persistence Mastering NServiceBus and Persistence
Ebook: $20.99

Mastering Unity 2D Game Development Mastering Unity 2D Game Development
Ebook: $32.99

Leaflet.js Essentials Leaflet.js Essentials
Ebook: $17.99

Concurrency in C# Cookbook Concurrency in C# Cookbook
by Stephen Cleary
Print: $39.99
Ebook: $33.99
Bundle: $43.99

PhoneGap 3.x Mobile Application Development HOTSHOT PhoneGap 3.x Mobile Application Development HOTSHOT
Ebook: $32.99

Upcoming


No Books Were Found.

More C# Books


LinqPad Webcast

Writing LINQ Queries with LINQPad

More Webcasts


C# Experts

Ethan Brown Ethan Brown is a senior software engineer at Pop Art, a Portland-based interactive marketing agency, where he is responsible for the architecture and implementation of web sites and web services for clients ranging from small businesses to international enterprise companies. He has over twenty years of programming experience, from embedded to the…

Andrew Stellman Andrew Stellman comes from a programming background, and has managed teams of requirements analysts, designers, and developers. He and Jennifer Greene formed Stellman & Greene Consulting in 2003, with a focus on project management, software development, management consulting, and software process improvement.

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.…

Matthew MacDonald Matthew MacDonald is a developer, author, and educator in all things Visual Basic and .NET. He's worked with Visual Basic and ASP since their initial versions, and written over a dozen books on the subject, including The Book of VB .NET (No Starch Press) and Visual Basic 2005: A Developer's Notebook (O'Reilly).…

John Sharp John Sharp is a principal technologist at Content Master, part of CM Group Ltd, a technical authoring and consulting company.

Marco Russo Marco Russo trains and consults with professional developers working with the .NET Framework and Microsoft SQL Server. He's active in developer communities and blogs, and has written three books.

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.

Rui Maximo Rui Maximo is a senior technical writer in the Office Communications Group, was lead program manager for Office Communications Server 2007, and contributed to a range of manageability, topology, VoIP, and Web access features.

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