C# (pronounced "C Sharp") is a programming language developed by Microsoft. It was introduced in 2002 with version 1.0 of Microsoft's .NET Framework. Since then, C# has gone through several revisions, corresponding with each .NET update. Today, it is one of the most popular programming languages for creating Windows programs and web applications.

C# is a derivative of the C programming language and is similar to C++. It uses the same basic operators as C++, is object oriented, case sensitive, and has nearly identical syntax. However, there are several differences between C# and C++. Below are just a few examples:

  • Arrays in C++ are pointers, while in C#, they are objects that may include methods and properties.
  • The bool (boolean) data type is not recognized as an integer as it is in C++.
  • The keywords typedef, extern, and static all have different meanings in C# than they do in C++.
  • C# switch statements do not support fall-through from one case to another.
  • Global methods and variables are not supported in C#, while they are in C++.

Most importantly, C# is designed specifically for Microsoft's .NET Framework. This allows developers to take advantage of all the features offered by the .NET API. However, it also means C# applications can only run on platforms that support .NET runtime, such as Windows, Windows Server, and Windows Phone. In order for programs written in C# to run on other platforms, the code must be compiled using a conversion tool like Microsoft .NET Native.

NOTE: The name "C#" comes from the musical note "C♯," implying it is a step up from the original version of C. The ♯ symbol is also comprised of four plus signs, which may imply C# is more advanced than C++ as well.

Updated June 4, 2014 by Per C.

quizTest Your Knowledge

Which of the following is an example of virtualization?

Running a 32-bit program on a 64-bit system
Porting an iOS app to Android
Using a web application
Running Windows on a Mac
Correct! Incorrect!     View the Virtualization definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of C# on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.