.: C# Programming Language Features

C# is a modern and innovative programming language that carefully incorporates features found in the most common industry and research languages. In keeping with the design philosophy of C#, Microsoft has introduced several potential new features to the C# language that increase developer productivity with language constructs.


Generic types are added to the language to enable programmers to achieve a high level of code reuse and enhanced performance for collection classes. Generic types can differ only by arity. Parameters can also be forced to be specific types. For more information, see Generic Type Parameters.


Iterators make it easier to dictate how a foreach loop will iterate over a collection's contents.

Partial Classes

The ListView control is quiet flexible and contains features of the Gridview, Datagrid, Repeater and similar list controls available in ASP.NET 2.0. It provides the ability to insert, delete, page (using Data Pager), sort and edit data. However one feature of the ListView control that stands apart, is that it gives you a great amount of flexibility over the markup generated. So you have a complete control on how the data is to be displayed. You can now render your data without using the table tag. You also get a rich set of templates with the ListView controlPartial type definitions allow a single type, such as a class, to be split into multiple files. The Visual Studio designer uses this feature to separate its generated code from user code.

Nullable Types

It is now possible to pass a block of code as a parameter. Anywhere a delegate is expected, a code block can be used instead: there is no need to define a new method.

Namespace alias qualifier

The namespace alias qualifier (::) provides more control over accessing namespace members. The global :: alias allows access the root namespace that may be hidden by an entity in your code.

Static Classes

Static classes are a safe and convenient way of declaring a class containing static methods that cannot be instantiated. In C# version 1.2 you would have defined the class constructor as private to prevent the class being instantiated.

External Assembly Alias

Reference different versions of the same component contained in the same assembly with this expanded use of the extern keyword.

Property Accessor Accessibility

It is now possible to define different levels of accessibility for the get and set accessors on properties.


Delegates are similar to C++ function pointers, but are type safe. Delegates allow methods to be passed as parameters. Delegates can be used to define callback methods.Delegates can be chained together; for example, multiple methods can be called on a single event.e different levels of accessibility for the get and set accessors on properties.

For more information,C# Programming Guide

  • Email: Selvakumar@Selvaa.com
  • Skype: Selvaa.com