C# is a language, and like all languages, therefore a way of thinking. Languages channel us down particular avenues of thought, make certain ideas as obvious as a grand concourse and others as confusing and mysterious as a back alley.
Different computer languages facilitate different things; there are computer languages that facilitate graphics programming and others that are best for text manipulation, many that excel in data relationships, and several whose raison dtre is pure performance. C# is a language for professional programming. The ideas that it facilitates, the capabilities that it makes easy, are those that lead to the rapid development of robust, scalable programs that deliver client value and are easily modifiable.
http://rapidshare.com/files/53293424/0130385727.zip