Thursday, November 11, 2010

C#.net Developer

C# is an elegant and type-safe object-oriented language that enables developers to build a variety of secure and robust applications that run on the .NET Framework. You can use C# to create traditional Windows client applications, XML Web services, distributed components, client-server applications, database applications, and much, much more.

C# Language


C# syntax is familiar with the c,c++ language.Any one who have basic knowledge in c or c++ can start working on c#.net.C# syntax simplifies many of the complexities of C++ and provides powerful features such as nullable value types, enumerations, delegates, lambda expressions and direct memory access, which are not found in Java.Some of the complex concepts like pointers,multiple inheritance have been eliminated from c#.net.But if at all if you want to use these concepts,there are alternate ways to use them like interfaces in order to accommodate multiple inheritance.We will be discussing them in detail in further sessions.

As an object-oriented language, C# supports the concepts of encapsulation, inheritance, and polymorphism. All variables and methods, including the Main method, the application's entry point, are encapsulated within class definitions. A class may inherit directly from one parent class, but it may implement any number of interfaces.In C#, a struct is like a lightweight class; it is a stack-allocated type that can implement interfaces but does not support inheritance.

In addition to these basic object-oriented principles, C# makes it easy to develop software components through several innovative language constructs, including the following:

  • Encapsulated method signatures called delegates, which enable type-safe event notifications.Its similar to function pointers in 'C' language.

  • Properties, which serve as accessors for private member variables.Its similar to Friend Functions in 'C' or 'C++' to access private variables of a class.If you want to access private array elements,there is another concept like indexers in C#.net.

  • Attributes, which provide declarative metadata about types at run time.

  • Inline XML documentation comments

    If you have to interact with other Windows software such as COM objects or native Win32 DLLs, you can do this in C# through a process called "Interop." Interop enables C# programs to do almost anything that a native C++ application can do. C# even supports pointers and the concept of "unsafe" code for those cases in which direct memory access is absolutely critical.

    A C# source file may define any number of classes, structs, interfaces, and events.