C# Tutorials

C# ( see section on name, pronunciation ) is an object - oriented programming language developed by Microsoft as part of the .NET initiative and later approved as a standard by ECMA and ISO. Anders Hejlsberg leads development of the C# language, which has a procedural, object - oriented syntax based on C + + and includes aspects of several other programming languages ( most notably Delphi and Java ) with a particular emphasis on simplification.

This article describes the C# language as significant in the ECMA and ISO standards. For a description of Microsoft's implementation, see Microsoft Visual C#.

C# ( see section on name, pronunciation ) is an object - oriented programming language developed by Microsoft as part of the .NET initiative and later approved as a standard by ECMA and ISO. Anders Hejlsberg leads development of the C# language, which has a procedural, object - oriented syntax based on C + + and includes aspects of several other programming languages ( most notably Delphi and Java ) with a particular emphasis on simplification.

This article describes the C# language as significant in the ECMA and ISO standards. For a description of Microsoft's implementation, see Microsoft Visual C#.


The ECMA standard lists these design goals for C#:

C# is intended to be a simple, modern, general - purpose, object - oriented programming language.
Because software robustness, durability, and programmer productivity are important, the language should include strong type checking, array bounds checking, detection of attempts to use uninitialized variables, source code portability, and automatic garbage collection.

The language is intended for use in developing software components that can take advantage of distributed environments.
Programmer portability is very important, especially for those programmers already familiar with C and C + +.

Support for internationalization is very vital.
C# is intended to be suitable for writing applications for both hosted and embedded systems, ranging from the very large that use sophisticated operating systems, down to the very small having dedicated functions.
Although C# applications are intended to be economical with regards to memory and processing power requirements, the language was not intended to compete directly on performance and size with C or assembly language.


Features

By design, C# is the programming language that most directly reflects the underlying Common Language Infrastructure ( CLI ). Most of C#'s intrinsic types correspond to value - types implemented by the CLI framework. However, the C# language specification does not state the code generation requirements of the compiler: that is, it does not state that a C# compiler must target a Common Language Runtime ( CLR ), or do Common Intermediate Language ( CIL ), or generate any other specific assembly. Theoretically, a C# compiler could generate machine penalty like traditional compilers of C + + or FORTRAN; in practice, all existing C# implementations target CLI.


C# differs from C and C + + in many ways, including:

There are no global variables or functions. Uncut methods and members must be declared within classes.
Local variables cannot shadow variables of the enclosing block, unlike C and C + +. Variable shadowing is generally considered confusing by C + + texts.
C# supports a strict boolean type, bool. Statements that haul conditions, undifferentiated as while and if, require an expression of a boolean type. While C and C + + also have a boolean type, it fault be freely converted to and from integers, and expressions such as if ( a ) desire only that a is convertible to bool, allowing a to speak for an int, or a pointer. C# disallows this 'integer meaning true or false' approach on the causation that forcing programmers to use expressions that return exactly bool prevents certain types of programming mistakes.

In C#, pointers can only appear as used within blocks specifically marked as unsafe, and programs with unsafe code urgency appropriate permissions to flow. Most object access is done completed unharmed references, which cannot be made invalid. An impending pointer can extremity to an instance of a value - mettle, array, string, or a block of memory allocated on a stack. Code that is not marked as fatal can still store and manipulate pointers through the System. IntPtr type, but cannot dereference them.

Managed memory cannot be explicitly freed, but is automatically garbage unemotional. Garbage collection addresses memory leaks. C# also provides direct support for deterministic finalization with the using statement ( supporting the Resource Acquisition Is Initialization idiom ).
Multiple inheritance is not supported, although a class can implement any number of interfaces. This was a design decision by the language's lead architect to avoid complication, avoid " dependency hell, " and simplify architectural requirements throughout CLI.

C# is more typesafe than C + +. The only implicit conversions by default are safe conversions, such as widening of integers and conversion from a derived type to a base type. This is enforced at compile - time, during JIT, and, in some cases, at runtime. There are no implicit conversions between booleans and integers and between enumeration members and integers ( except 0, which can be implicitly converted to an enumerated type ), and any user - defined conversion must be explicitly marked as explicit or implicit, unlike C + + copy constructors ( which are implicit by scarcity ) and conversion operators ( which are always implicit ).
Enumeration members are placed in their own namespace.

Accessors called properties can be used to modify an object with syntax that resembles C + + rasher biz access. In C + +, declaring a member public enables both declaiming and writing to that member, and accessor methods occasion epitomize used if more fine - grained containment is needed. In C#, properties allow control over member path and data validation.
Full type reflection and release is available.

C# Tutorials Links


C# Tutorials
URL: http://www.softsteel.co.uk/tutorials/cSharp/contents.html
25 online lessons.

C# Fundamentals
URL: http://www.only4gurus.com/v3/preview.asp?ID=7505
The purpose of this module is to introduce C#, including the forces that drove its creation, its design philosophy, and several of its most important features. This module provides a brief overview of several C# features, including the general form of a C# program, some basic control statements, and operators.

C# tutorial
URL: http://www.publicjoe.f9.co.uk/csharp/tut.html
C# tutorial that is aimed at beginners, with a useful section of code snippets.

Developers School For Learning C#
URL: http://www.programmersheaven.com/2/Les_CSharp_0
15 online lessons in C# with a dedicated message board.

C# Tutorial
URL: http://www.softsteel.co.uk/tutorials/cSharp/cIndex.html
This tutorial covers Microsoft's new programming language C#. It is aimed at people with some programming experience, although it tries not to assume too much knowledge

C# Programming Course
URL: http://www.jaggersoft.com/csharp_course/index.html
These are the full slides and notes for a 5 day instructor led course on C# Programming.


The C# Tutorial C# Station
URL: http://www.csharp-station.com/Tutorial.aspx
This set of lessons teaches the basics of the C# programming language. They are appropriate for beginning programmers and developers who are experienced in other languages and would like a quick overview of C# programming

C# Tutorial
URL: http://www.ssw.uni-linz.ac.at/Teaching/Lectures/CSharp/Tutorial/
This 2-part tutorial was given at the Microsoft .NET Crash Course in Cambridge on March 25-28, 2002.

C# Tutorial For Beginners
URL: http://www.csharphelp.com/archives2/archive402.html
A very basic C# tutorial that can be downloaded.

C# in Detail
URL: http://www.jaggersoft.com/csharp_in_detail.html
Two downloadable C# presentations in .zip format that expand to html presentations.

The Advanced C#/.NET Tutorial
URL: http://my.execpc.com/~gopalan/dotnet/net_tutorial.html
Advanced C# tutorials with sample source code that can be downloaded.


See More...

Comparison of C# and Java
Comparison of C# and Visual Basic.Net
Common Language Runtime
Microsoft Visual Studio, IDE for C#
SharpDevelop, an open-source C# IDE for Windows
Mono, an open source implementation of .NET
MonoDevelop, an open-source C# IDE for Linux
Cω programming language, extension to C#
Morfik C#, a C# to JavaScript compiler complete with IDE and framework for Web application development.
F#, Microsoft's version of OCaml
Spec#
Sing#
Nemerle programming language
Baltie, an IDE for learning C# and young Baltie
Boo programming language, a cross between C# and Python
IronPython, a Microsoft-supported, .NET-compliant version of Python
Polyphonic C#
Anders Hejlsberg
C++/CLI
Comparison of programming languages
Windows PowerShell, a .NET-based interactive command line shell/scripting environment
Active record pattern, a pattern and some examples related to C# 3.0 features

Share this

Related Posts

There was an error in this gadget