LinuxLinks.com
Newbies What Next ? News Forums Calendar

Search





News Sections
Home
General News (3973/0)
Reviews (628/0)
Press Releases (464/0)
Distributions (187/0)
Software (850/0)
Hardware (522/0)
Security (192/0)
Tutorials (338/0)
Off Topic (180/0)


User Functions
Username:

Password:

Don't have an account yet? Sign up as a New User


Events
There are no upcoming events




6 Top Free C# Books

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

C# Programming
Website www.csharpcourse.com
Author Rob Miles
Format PDF
Pages 201

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

Dissecting a C# Application
Website damieng.com/blog/2007/11/08/dissecting-a-c-application-inside-sharpdevelop
Author Christian Holm, Bernhard Spuida, Mike Kruger
Format PDF
Pages 500

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#
Website www.albahari.com/threading/
Author Joseph Albahari
Format PDF, HTML
Pages 125

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:
    • Why PFX?
    • 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

Bookmark and Share


Last Updated Sunday, September 29 2013 @ 09:28 AM EDT


We have written a range of guides highlighting excellent free books for popular programming languages. Check out the following guides: C, C++, C#, Java, JavaScript, CoffeeScript, HTML, Python, Ruby, Perl, Haskell, PHP, Lisp, R, Prolog, Scala, Scheme, Forth, and SQL.


Group Tests
All Group Tests

Top Free Software
6 Office Suites
7 Document Processors
6 Lean Desktops
6 Desktop Search
9 Project Management
9 Groupware Apps
14 File Managers
10 Databases
21 Backup Tools
21 DVD Tools
21 Window Managers
21 Productivity Tools
9 Terminal Emulators
21 Financial Tools
21 Text Editors
21 Video Emulators
21 Home Emulators
42 Graphics Apps
6 CAD Apps
42 Scientific Apps
10 Web Browsers
42 Email Apps
12 Instant Messaging
10 IRC Clients
7 Twitter Clients
12 News Aggregators
11 VoIP Apps
11 Remote Display Apps
42 Best Games
42 More Games
21 More Games
21 Notable Games (1)
21 Notable Games (2)
21 Notable Games (3)
8 ASCII Games
9 Educational Games
42 Audio Apps
42 Video Apps
6 Screencasting Apps
80 Security Apps
9 System Monitoring
6 Family History Apps
11 PDF Tools
6 Music Servers
6 Collection Managers
7 Calculator Apps
8 Geometry Apps
Free Console Apps
14 Multimedia
Programming
8 Compilers
9 IDEs
9 Debuggers
7 Revision Control Apps
6 Doc Generators
'Free' Proprietary
21 Closed-Source Apps
Top Commercial Apps
42 Games
Free Web Software
21 Web CMS
14 Wiki Engines
8 Blog Apps
6 eCommerce Apps
5 Human Resource Apps
10 ERP
10 CRM
6 Data Warehouse Apps
8 Business Intelligence
6 Point-of-Sale

All Group Tests

Other Articles
Migrating from Windows
Back up your data
Distribution Guide
Distro Portal Pages
20 Free Linux Books
Running Linux Under Windows


Older Stories
Sunday 12/08
  • Top Email Encryption Tools (0)

  • Saturday 11/30
  • Small Image Tools that Pack a Real Punch (0)

  • Sunday 11/17
  • OneNote Alternatives (0)
  • Making Linux More Accessible (0)
  • Easy Ways to Create Screencasts (0)
  • Bloated Audio Players? No Thanks! (0)

  • Saturday 10/19
  • Tesco Hudl HT7S3 Review (0)

  • Sunday 10/13
  • Lightweight Frameworks to Kick Start HTML / CSS Projects (0)
  • Complete Frameworks for Quick Styling of Websites (0)

  • Saturday 09/28
  • Choosing a Journaling File System (0)


  • Vote

    What do you find MOST attractive about Open Source software?

    Amount of customization
    Security
    Freedom provided
    Speed of development
    Quality
    Multiple versions
    Cost
    Potential to contribute
    Ability to modify code
    Results
    4656 votes | 2 comments

    Built with GeekLog and phpBB
    Comments to the webmaster are welcome
    Copyright 2009 LinuxLinks.com - All rights reserved