| Home | Site Map | Contact Us |
 Ashtaanga Yoga
 Relaxation Techniques
 Tips for Interview
 Common Interview Questions
 Resume Tips
 Company Profiles
 Jobs Availability
 Companies list
 Indian Market
 World Market
  What is .Net?
  Why .Net?
 ASP.Net Introduction
 App. Development In ASP.Net
 Introduction to C#.Net
 Coding Standards
 Introduction to ADO.Net
 Application Deployment
 Find Your Location
 Watch Online Videos
 Watch Online TV
.Net-> Introduction to C#.Net

C#.Net Description



Written for those with some previous C/C++ or Java experience, A Programmer's Introduction to C# is a fast-moving and smart tutorial to using Microsoft's new programming language. This book is filled with both basic and advanced language details that show you how to use C# effectively.

A quick tour of C#, covering nearly every language detail, starts things off. Because the author assumes that you already know about basic concepts like objects, inheritance and the like, the pace is pretty lively. Concise descriptions of key language features are anchored by short, clear code excerpts that demonstrate each C# principle. Early chapters concentrate on using objects, data types and flow control done the C# way. Where appropriate, background material is provided on the new Microsoft .NET Frameworks environment (where C# runs), but this text is by and large a language-based tutorial. Readers will get a handle on key C# features and even advanced nooks and crannies of the language (such as nested classes and improvements above and beyond C++ and Java) like built-in support for properties, the delegates keyword and support for versioning.

The book is careful to discuss the philosophy and style of C#, especially when it comes to class design. Of course, if you are trained in C++ or Java, you will be right at home. Later sections turn to the nuts and bolts of .NET Frameworks with material on writing classes using methods that will cooperate better with the framework, garbage collection and guidelines for creating reusable classes for other programmers. The book finishes up with a point-by-point comparison of C# and C++, Java and Visual Basic, which can show you what's the same and what's been improved in this new and exciting language from Microsoft.

In all, this title arrives at just the right time for the reader who wants to get ready for C#. Although the language is still under development, reading A Programmer's Introduction to C# will help you stay ahead of the curve with its concise and effective tutorial that's perfect for the busy working developer. --Richard Dragan --This text refers to an out of print or unavailable edition of this title.

Book Description
C# is the key language for Microsoft's next generation of Windows services, the .NET platform. This new programming language is fast and modern and was designed to increase programmer productivity. C# enables programmers to quickly build a wide range of applications for the new Microsoft .NET platform. The .Net platform enables developers to build C# components to become Web services available across the Internet. Using C# language constructs, these components can be converted into Web services, allowing them to be invoked across the Internet. Gunnerson's book is designed as a comprehensive reference for professional programmers to help get them up to speed on C#. The author is a lead developer on Microsoft's C# development team, and has logged many developer hours writing and testing C# code. As such, he is uniquely poised to teach developers the effective use of this new language. A Microsoft insider, Gunnerson is also able to explain to readers how C# fits into Microsoft's new .NET framework. A final section of the book provides a history of C#, and a language comparison to other widely used programming languages. Gunnerson's book provides a foundation upon which programmers can begin to develop in C#. Among the core topics covered are the COM+ environment, statements and flow of execution, classes, structs, interfaces, expressions, arrays, enums, delegates and events, exception handling, interoperability, and selected advanced topics. --This text refers to an out of print or unavailable edition of this title

  Introduction to C#

In today's computing world, there is a wealth of various programming languages available to us; however, they can each be categorized into  one of the three major types:

  •  Machine Languages
  •  Assembly Languages
  •  High-Level languages

Machine Languages

As was mentioned earlier, a computer can only understand its own machine language.  The machine language is the language that the hardware designers create and is quite complicated if you decide to use it to create a program, simply because it consists of sets of numbers (0s and 1s). Machine language uses these sets of numbers to perform various operations.

NOTE  In our Human-Computer programming languages analogy if two English-speaking people speak to each other their brains will compile the code and understand it directly. If you are a machine code programmer then you will write the code that the computer will understand directly and execute the program.

Assembly Languages

Programmers found that developing even the simplest programs, using sets of numbers, was a very complicated process so they developed assembly languages. Assembly languages use keywords and symbols, much like English, to form a programming language -- I can personally say that this is much better than the huge amount of numbers used in the machine languages -- but at the same time introduces a new problem. The problem is that the computer doesn't understand the assembly code, so we need a way to convert it to machine code, which the computer does understand.

Programmers developed assemblers which are programs that convert assembly language code to machine language code.  By using these assemblers programmers can write code in assembly language and convert into machine code.

High-Level Languages

Computer scientists found that computers were quickly becoming popular all over the world, so they needed faster, easier, and more powerful programming languages than what was currently possible using assembly languages.  They designed "high-level" languages and they called them high-level languages because when you develop applications using a high-level language you don't have to deal with low-level details like machine code, which allows you to write keywords that are much easier than assembly and that can perform multiple operations.  An example of a high-level language is C#.

A lot of beginner programmers who learn C# don't care to understand what .NET is all about?  But, as we will see, they are setting themselves up for failure. 

I can't simply jump into a technical discussion about Microsoft.NET, as I'm assuming that you don't know much about programming. I will not use any technical expressions in this section, so when you finish the book please read appendix A -- "About Microsoft.NET".

Today there are more than 400 million computer users in the world, and most of them use the Internet daily for shopping, chatting, business, and many other things.  Still, there are a lot of things they can't do by using the Internet, such as comparing prices from various airlines to find the cheapest flight to Paris, or finding the nearest car rental companies and comparing their prices to find one that suits your budget, as well as many other tasks that will make our lives much easier (ie: sending a message to my car via .NET instructing it to unlock its doors in five minutes).

Before Microsoft.NET all these services were simply a dream, and did not exist as there were no platforms that were capable of dealing with these types of services.  Also vendors used various techniques for describing their information, and developing the code necessary to integrate such services was a very complex process.  Microsoft realized that the future for Internet -- especially these types of services - needed to be improved, so they spent three years creating the .NET platform and released it in July, 2000.

Microsoft considered creating these web services as the future of selling computer applications. For example, if your company specializes in creating services for car rental companies, they would be interested in your products for their own services.  Also of note is that there are also various free services offered by a number of companies.  You can think of these web services as a new way of executing business logic.  Here are some examples of these services:

  • Service for specifying the nearest Car Rental Companies in my area based on ZIP code.
  • Service for comparing books prices.
  • Service for providing times; for example, a service that will provide the local US time for other countries.
  • Service for comparing airline ticket prices based on the information entered by the user.
  • Service capable of searching for Internet users between specified intervals.

This is a very simple list of web services that companies can implement; this list can grow enormously in size. Microsoft and a number of other companies have already begun developing such services.  Some will be offered at no charge, while others will charge various fees (ie: subscriptions, one-time, etc.). 

Applications will be produced that will make use of these services to further extend their capabilities. For example, we have a service that will retrieve the car rental companies based on a ZIP code, so we must develop an application that will use this service and return the results to the user of the application.  With thousands of these services and applications to use, users will have rich and powerful applications at their fingertips.

In order to create these powerful applications there must be a programming platform capable of using these services through a powerful international network, such as the Internet, and make the world an integrated unit.  This is what Microsoft.NET is about.

NOTE  The concept of Microsoft.NET may not be clear right now, but when you learn more about C# and when you work with Web services you will see the big picture.  Do not worry as we've only started wetting our fingers.

In the.NET world these services are known as Web Services.  Web Services are connected through the Internet in order for multiple applications to make use of them.  There is a part of the .NET puzzle known as the .NET Framework, which provides developers with an easy way to access Web Services.  The .NET Framework is the development platform that we will use to develop .NET applications.  In a few words we can say that the Microsoft.NET platform is the group of technologies and products that Microsoft spent the last few years, and about 80% of its budget, in research and development. I think you will understand much more after we talk about the components of this gigantic platform.

Most of you will think that the Microsoft.NET Platform is just C# and Visual Studio.NET, but C# and Visual Studio.NET are just a part of the big game. As I said before, Microsoft.NET is just a name for a group of technologies.  In the book we will cover C#, Visual Basic.NET, Visual Studio.NET (VS.NET) and the .NET Framework (which we will discuss in the next section), which are all parts of the Microsoft.NET Platform.

To get the whole picture in your mind you must know that there is a group of servers (Microsoft SQL Server 2000, Microsoft Application Center 2000, Microsoft Mobile Information Server 2000 and many others) that Microsoft has dubbed '.NET Enterprise Servers'.  These are also another part of the Microsoft.NET Platform.  Also, as a part of the Microsoft.NET world and Platform there are a number of new non-PC devices like Pagers, Mobile phones, PDA, and many others that are also a part of .NET technology.  How?  These devices will be able to run.NET applications made specifically for them.  There are also a number of services called .NET Services, which also make up the Microsoft.NET Platform.

Now that you have a good overview of the.NET Platform, we must understand two major components of this Platform.