Thursday, January 2, 2014

C-sharp Tutorial

C# Overview
C# is a modern, general-purpose, object-oriented programming language developed by Microsoft and approved by Ecma and ISO.
C# was developed by Anders Hejlsberg and his team during the development of .Net Framework.
C# is designed for Common Language Infrastructure (CLI), which consists of the executable code and runtime environment that allows use of various high-level languages to be used on different computer platforms and architectures.
The following reasons make C# a widely used professional language:
 Modern, general-purpose programming language
 Object oriented.
 Component oriented.
 Easy to learn.
 Structured language.
 It produces efficient programs.
 It can be compiled on a variety of computer platforms.
 Part of .Net Framework.

Strong Programming Features of C#

Although C# constructs closely follow traditional high-level languages, C and C++ and being an object-oriented programming language, it has strong resemblance with Java, it has numerous strong programming features that make it endearing to multitude of programmers worldwide.
Following is the list of few important features:
 Boolean Conditions
 Automatic Garbage Collection 
 Standard Library 
 Assembly Versioning 
 Properties and Events 
 Delegates and Events Management 
 Easy-to-use Generics 
 Indexers 
 Conditional Compilation 
 Simple Multithreading 
 LINQ and Lambda Expressions 
 Integration with Windows 


C# Environment
In this chapter, we will discuss the tools required for creating C# programming. We have already mentioned that C# is part of .Net framework and is used for writing .Net applications. Therefore, before discussing the available tools for running a C# program, let us understand how C# relates to the .Net framework. The .Net Framework 
The .Net framework is a revolutionary platform that helps you to write the following types of applications: 
 Windows applications 
 Web applications 
 Web services 
The .Net framework applications are multi-platform applications. The framework has been designed in such a way that it can be used from any of the following languages: C#, C++, Visual Basic, Jscript, COBOL, etc. All these languages can access the framework as well as communicate with each other. 
The .Net framework consists of an enormous library of codes used by the client languages like C#. Following are some of the components of the .Net framework: 
 Common Language Runtime (CLR) 
 The .Net Framework Class Library 
 Common Language Specification 
 Common Type System 
 Metadata and Assemblies 
 Windows Forms 
 ASP.Net and ASP.Net AJAX 
 ADO.Net 
 Windows Workflow Foundation (WF) 
 Windows Presentation Foundation 
 Windows Communication Foundation (WCF) 
 LINQ 

For the jobs each of these components perform, please see ASP.Net - Introduction, and for details of each component, please consult Microsoft's documentation. Integrated Development Environment (IDE) For C# 
Microsoft provides the following development tools for C# programming: 
 Visual Studio 2010 (VS) 
 Visual C# 2010 Express (VCE) 
 Visual Web Developer 
The last two are freely available from Microsoft official website. Using these tools, you can write all kinds of C# programs from simple command-line applications to more complex applications. You can also write C# source code files using a basic text editor, like Notepad, and compile the code into assemblies using the command-line compiler, which is again a part of the .NET Framework. 
Visual C# Express and Visual Web Developer Express edition are trimmed down versions of Visual Studio and has the same look and feel. They retain most features of Visual Studio. In this tutorial, we have used Visual C# 2010 Express. 
You can download it from Microsoft Visual Studio. It gets automatically installed in your machine. Please note that you need an active internet connection for installing the express edition.

C# Program Structure 
Before we study basic building blocks of the C# programming language, let us look at a bare minimum C# program structure so that we can take it as a reference in upcoming chapters. C# Hello World Example 
A C# program basically consists of the following parts: 
 Namespace declaration 
 A class 
 Class methods 
 Class attributes 
 A Main method 
 Statements & Expressions 
 Comments 

Let us look at a simple code that would print the words "Hello World": 

using System;
namespace HelloWorldApplication 
{   
 class HelloWorld    
   {       
static void Main(string[] args)       
     {         
 /* my first program in C# */         
 
Console.WriteLine("Hello World");         
 Console.ReadKey();       
     }    
  } 

When the above code is compiled and executed, it produces the following result: 
Hello World 
Let us look at various parts of the above program: 
 The first line of the program using System; - the using keyword is used to include the System namespace in the program. A program generally has multiple using statements. 
 The next line has the namespace declaration. A namespace is a collection of classes. The HelloWorldApplication namespace contains the class HelloWorld. 
 The next line has a class declaration, the class HelloWorld contains the data and method definitions that your program uses. Classes generally would contain more than one method. Methods define the behavior of the class. However, the HelloWorld class has only one method Main. 
 The next line defines the Main method, which is the entry point for all C# programs. The Main method states what the class will do when executed 
 The next line /*...*/ will be ignored by the compiler and it has been put to add additional comments in the program. 
 The Main method specifies its behavior with the statement Console.WriteLine("Hello World"); WriteLine is a method of the Console class defined in the System namespace. This statement causes the message "Hello, World!" to be displayed on the screen. 
 The last line Console.ReadKey(); is for the VS.NET Users. This makes the program wait for a key press and it prevents the screen from running and closing quickly when the program is launched from Visual Studio .NET. 

Continue in next post....

No comments:

Post a Comment