| |
|
| |

Review Details |
|
|
Also see
Reviews and
How To Review. |
| |
|
| |
|
| |
|
| |

Review
|
|
|
 |
| |
Reviewed: July, 2005 |
| |
Reviewer:
Dmitri Nevedrov |
| |
|
| |
The book is divided into three parts - introduction and presentation of C#,
C# programming techniques, and description of .NET framework and runtime
environment.
First part starts with the history and motivation behind .NET and in
particular C# programming language particular. And, as in most programming
books the author presents a typical C# "Hello World" application, followed
by discussion about such concepts as classes, methods, attributes,
namespaces, that helps the reader to learn or refresh object oriented
programming and language syntax. The details are provided about compilation
and running "Hello World" application, instructions are sufficient enough
for the beginner to launch the app and even debug through it.
Fundamentals of the C# language are presented in the next chapter, this
includes types, statements, enumerations, operators, processor directives.
After that the author gives a detailed description of C# classes – their
declaration, initialization, constructors and destructors, overloading,
encapsulation, and accessors - essentially the basic object oriented
concepts, followed by inheritance and polymorphism - the section that also
includes abstract and sealed classes, boxing and unboxing. Next paragraphs
are about overloading, structs and interfaces. I think it would be logical
to have the Interfaces mentioned earlier in a special chapter focused on
general object oriented C#, instead of dedicating a separate chapter to it.
Next is Arrays, Indexers and Collection - a long and very detailed chapter
that explains the usage and handling of these structures. Strings,
Exceptions, Delegates and Events are each very important and used by every
C# programmer, and author dedicated each of them a separate chapter, thus
closing the first part of the book.
Part 2 actually helps to apply the knowledge of the language to build
applications, using Visual Studio as a development tool. We learn about
Forms - basic user interface components, creating and coding controls.
ADO.NET and data access are also described based on SQL databases. ASP.NET
and web services are described in the next chapter, here we learn how to use
visual and data access controls to create a web application. Steps to create
an web services application are presented in good details.
The last part of the book is about .NET framework and runtime environment.
It starts with a chapter about marshalling and remoting, that focuses on
application contexts and boundaries, marshalling (transporting) objects
across application domain boundaries, marshalling with proxies. An example
to build a server and a client. Next chapter is threads and synchronization.
The author assumes that the reader is already familiar with multithreading
and focuses on how threads work in C#, we particularly learn about creating,
running, killing threads and applying locks and monitors to synchronize
them. Race conditions and deadlocks are mentioned at the end of the chapter.
The streams chapter is essentially about input output and is dedicated to
reading and writing data from/to files and sockets. The last chapter is
about integrating .NET with COM and ActiveX. Although the subject deserves a
separate book, the author provides a detailed example how an ActiveX control
can be imported into Visual Studio .NET project.
Overall the book gives a good detailed introduction to C# as a language and
teaches how to use it in practice to build either desktop or web based
application accessing database. Author illustrates material by screenshots
and code examples, that helps the reader to easily create his or her own
program. I think, given compact size of the book, author managed to put
together all necessary details about C# as a programming language, .NET
framework and their essential programming techniques. The book is a good
reference material for someone already familiar with basics object oriented
programming, multithreading, input output and looking to learn C# basics or
make transition from Java to C#. As a developer who programmed with
different languages I found the book to be a useful C# syntax reference
source. |
| |
 |
| |
 |
| |
Copyright © 2000 -
2009
Denver Microsoft®
Visual Studio User Group™.
All Rights Reserved. Please see
Notice. |
|