--Your friends at LectureNotes

C# and .NET

by Anna Superkings
Type: NoteDownloads: 3Views: 106Uploaded: 14 days agoAdd to Favourite

Share it with your friends

Suggested Materials

Leave your Comments


Anna Superkings
Anna Superkings
Introduction C# (pronounced "C sharp") is a simple, modern, object-oriented, and type-safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity of Rapid Application Development (RAD) languages and the raw power of C++. Visual C# .NET is Microsoft's C# development tool. It includes an interactive development environment, visual designers for building Windows and Web applications, a compiler, and a debugger. Visual C# .NET is part of a suite of products, called Visual Studio .NET, that also includes Visual Basic .NET, Visual C++ .NET, and the JScript scripting language. All of these languages provide access to the Microsoft .NET Framework, which includes a common execution engine and a rich class library. The .NET Framework defines a "Common Language Specification" (CLS), a sort of lingua franca that ensures seamless interoperability between CLS-compliant languages and class libraries. For C# developers, this means that even though C# is a new language, it has complete access to the same rich class libraries that are used by seasoned tools such as Visual Basic .NET and Visual C++ .NET. C# itself does not include a class library. Getting started The canonical "hello, world" program can be written as follows: using System; class Hello { static void Main() { Console.WriteLine("hello, world"); } } The source code for a C# program is typically stored in one or more text files with a file extension of .cs, as in hello.cs. Using the command-line compiler provided with Visual Studio .NET, such a program can be compiled with the command-line directive csc hello.cs which produces an application named hello.exe. The output produced by this application when it is run is: CS6001 C# and .Net programming Page 1
hello, world Close examination of this program is illuminating: The using System; directive references a namespace called System that is provided by the Microsoft .NET Framework class library. This namespace contains the Console class referred to in the Main method. Namespaces provide a hierarchical means of organizing the elements of one or more programs. A "using" directive enables unqualified use of the types that are members of the namespace. The "hello, world" program uses Console.WriteLine as shorthand for System.Console.WriteLine. The Main method is a member of the class Hello. It has the static modifier, and so it is a method on the class Hello rather than on instances of this class. The entry point for an application — the method that is called to begin execution — is always a static method named Main. The "hello, world" output is produced using a class library. The language does not itself provide a class library. Instead, it uses a class library that is also used by Visual Basic .NET and Visual C++ .NET. For C and C++ developers, it is interesting to note a few things that do not appear in the "hello, world" program. The program does not use a global method for Main. Methods and variables are not supported at the global level; such elements are always contained within type declarations (e.g., class and struct declarations). The program does not use either "::" or "->" operators. The "::" is not an operator at all, and the "->" operator is used in only a small fraction of programs — those that employ unsafe code (Section A). The separator "." is used in compound names such asConsole.WriteLine. The program does not contain forward declarations. Forward declarations are never needed, as declaration order is not significant. The program does not use #include to import program text. Dependencies among programs are handled symbolically rather than textually. This approach eliminates barriers between applications written using multiple languages. For example, the Console class need not be written in C#. C# is a simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its .NET initiative led by Anders Hejlsberg. This tutorial will teach you basic C# programming and will also take you through various advanced concepts related to C# programming language. sample code using System; CS6001 C# and .Net programming Page 2
namespace HelloWorldApplication { class HelloWorld { static void Main(string[] args) { /* my first program in C# */ Console.WriteLine("Hello World"); Console.ReadKey(); } } } C# is a modern, general-purpose, object-oriented programming language developed by Microsoft and approved by European Computer Manufacturers Association (ECMA) and International Standards Organization (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 on different computer platforms and architectures. The following reasons make C# a widely used professional language: It is a modern, general-purpose programming language It is object oriented. It is component oriented. It is easy to learn. It is a structured language. It produces efficient programs. It can be compiled on a variety of computer platforms. It is a 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 a number of programmers worldwide. Following is the list of few important features of C#: Boolean Conditions Automatic Garbage Collection CS6001 C# and .Net programming Page 3
SRI VIDYA COLLEGE OF ENGINEERING & TECHNOLOGY,VIRUDHUNAGRA COURSE MATERIAL (LECTURE NOTES) 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 CS6001 C# and .Net programming Page 4

Lecture Notes