6 Top Free C# Books
C# (pronounced C Sharp) is a modern, general-purpose,
type-safe, object-oriented, multi-paradigm programming language
implementing and expanding on the best features and functions found in
other languages.
C# combines the power and flexibility of C++ with the
simplicity of
Visual Basic. It encompasses strong typing, imperative, declarative,
functional, generic, object-oriented (class-based), and
component-oriented programming disciplines with support for the
concepts of encapsulation, inheritance, and polymorphism. It
incorporates many elements of the expression and statement syntax of C,
and has a more refined object-oriented programming syntax than C++.
For development of Linux
applications, programmers may be interested in Mono, an open source
implementation of Microsoft's .NET Framework based on the ECMA
standards for C# and the Common Language Runtime. C# is
developed by Microsoft.
C# is one of the more popular programming languages, but is
not as widely used as say C, Java, C++ or PHP.
The focus of this article is to select some of the finest free
C# books which help programmers master this language. To cater for all
tastes, we have selected a diverse range of informative books on C#.
All of the texts here come with our strongest recommendation. So get
reading (and downloading).
|
1. C# Programming
|
 |
The C# Book is a book that teaches you how to program
using C#. It is
the basis of the first year programming course at the Department of
Computer Science in the University of Hull.
Chapters cover:
- Computers and Programs - find out what a computer is
and get an understanding of the way that a computer program tells the
computer what to do. Discover what you should do when starting to write
a
program. The chapter finishes with a look at programming in general and
the C# language in particular
- Simple Data Processing - create a genuinely
useful program. Start by creating a very simple solution and
investigate the C# statements that perform basic data processing. The
author then uses additional features of the C# language to improve the
quality of the solution
- Creating Programs - build on our programming
abilities to make programs that are broken down into manageable chunks
and find out how a program can store and manipulate large amounts of
data using arrays
- Creating Solutions - a case study which will allow
you to see the features of C# in a strong context
- Advanced Programming - looks at the ArrayList class,
the List class, the Dictionary class, storing business objects, saving
an account, loading an account, multiple accounts, handling different
kinds of accounts, business objects and editing, threads and threading,
structured error handling, program organisation, a graphical user
interface including the XAML markup language, extensible markup
languages, XML schema, and debugging
- Glossary of Terms
|
|
2. Dissecting a C# Application
|
|
SharpDevelop is a free and open source complete
Integrated Development
Environment, written in C# for the Microsoft .NET, Mono, Gtk#, and
Glade platforms. It includes all the advanced features thatprogrammers
expect from a modern IDE and, of course, implementing these features
has required some advanced programming techniques.
This book shows the reader you the process, thinking and
code behind the
open-source .NET IDE SharpDevelop that went on to split into the
MonoDevelop project.
The book shows the reader how to:
- Build a highly modular application
- Provide a flexible, extendable, customizable user
interface
- Manage the efforts of translators for efficient
internationalization
- Represent and manipulate text efficiently
- Code search and replace functionality
- Construct reusable controls
- Implement a parser to provide syntax
highlighting auto-completion as users type
- Use reflection to access information about .NET
classes
- Create a Windows Forms designer
- Generate code programmatically
|
|
3. Threading in C#
|
 |
Threading in C# is an extensive online book on multithreading in C#. It
presents the reader with useful information on thread safety, 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.
Chapters cover:
- Getting Started:
- Introduction and Concepts
- Creating and Starting Threads - looks at passing
data to a thread, naming
threads, foreground vs background, thread priority, and exception
handling
- Thread Pooling - cuts overheads by sharing and
recycling threads
- Basic Synchronization:
- Synchronization Essentials - coordinating
the actions of threads for a predictable outcome
- Locking - examines the lock construct, mutex and
semaphores before moving on to coverage on reader/writer locks
- Thready Safety - achieved primarily with locking
and by reducing the possibilities for thread interaction
- Signaling with Event Wait Handles - they come in
three types: AutoResetEvent, ManualResetEvent, and CountdownEvent
- Synchronization Contexts - looks at reentrancy
- Using Threads:
- The Event-Based Asynchronous Pattern
- provides a simple means by which classes can offer multithreading
capability without consumers needing to explicitly start or manage
threads, a cooperative cancellation model, the ability to safely update
WPF or Windows Forms controls, and forwarding of exceptions to the
completion event
- BackgroundWorker - a helper class in the
System.ComponentModel namespace for managing a worker thread
- Interrupt and Abort - looks at Thread.Interrupt and
Thread.Abort
- Safe Cancellation - including Cancellation Tokens
- Lazy Initialization - Lazy of T class, and
LazyInitializer
- Thread-Local Storage - explores three ways to
implement thread-local storage
- Timers - multithreaded and single-threaded timers
- Advanced Topics:
- Nonblocking Synchronization - memory barriers and
volatility, interlocked
- Signaling with Wait and Pulse - looks at how to use
Wait and Pulse, Producer/Consumer queue, wait timeouts, two-way
signaling, simulating wait handles, writing a CountdownEvent, and
thread rendezvous
- The Barrier Class - a signaling construct new to
Framework 4.0. It implements a thread execution barrier, which allows
many threads to rendezvous at a point in time
- Reader/Writer Locks - designed to provide
maximum-availability locking
- Suspend and Resume - explains that t
is safe
to call Suspend on the current thread
- Aborting Threads - looks at complications with
Thread.Abort, ending application domains and processes
- Parallel Programming:
- PLINQ - automatically parallelizes local LINQ
queries
- The Parallel Class
- Task Parallelism - the lowest-level approach to
parallelization with PFX
- Working with AggregateException - provides a couple
of methods to simplify exception handling: Flatten and Handle
- Concurrent Collections - Framework 4.0
provides a set of new collections in the System.Collections.Concurrent
namespace
- SpinLock and SpinWait - the SpinLock struct lets
you
lock without incurring the cost of a context switch, at the expense of
keeping a thread spinning. SpinWait helps you write lock-free
code that spins rather than blocks
|
Next
Section: 6 Top Free C# Books - Part 2
Last Updated Saturday, March 16 2013 @ 07:17 PM EST |