C#, a Multi-purpose Computer Programming Language
C# is an object-oriented language that was introduced by Microsoft in 2000. C# allows developers to create a large variety of secure and powerful applications running on the .NET Framework. Developers can use C# to build XML Web services, Windows client applications, client-server applications, distributed components, database applications, and more.
Theoretically, C# could be compiled to machine code, but actually, this programming language is always used in combination with the .NET framework. Being an integral component of Windows, .NET framework includes a unified set of class libraries and a virtual execution system called the common language runtime (CLR). If an application is written in C#, it requires the .NET framework to be installed on the computer that is running the application. Although the .NET framework allows to use a wide range of programming languages, C# is sometimes considered to be the .NET language.
C# was designed to be a simple general-purpose programming language that borrows key concepts from several other programming languages such as C, C++, and most notably Java. Developers who know at least any of these languages are usually able to start working productively using C# within a very short period of time.
The syntax of C# simplifies a lot of the intricacies of C++ and has many strong features such as enumerations, nullable value types, lambda expressions. C# delegates a direct memory access which is not available in Java. C# also has similar features to Java and is suitable for performing the most demanding app-development tasks, including the development of today’s web-based apps, large-scale enterprise apps as well as mobile and “cloud”-based apps.
Based on basic object-oriented principles, C# also simplifies the process of building software components when using several innovative language constructs such as, for example, encapsulated method signatures, Language-Integrated Query (LINQ), inline XML documentation comments, and more.
You might be interested in XPath Data Query Language for Selecting XML Nodes.