C# (uttalesC sharp) er etobjektorientertprogrammeringsspråk utviklet avMicrosoft som en del av deres satsing på.NET-plattformen. Microsoft valgte å basere C# på programmeringsspråkeneC++ ogJava. C# ble designet for å balansere styrke (C++) og rask utvikling (Java).
Sjefarkitekt for gruppen som jobber med C# og utvikler C# hos Microsoft er danskeAnders Hejlsberg. Microsofts C#-kompilator kompilerer ikke C#-kode tilmaskinkode som kan kjøres direkte fra endatamaskin, slik tradisjonelle kompilatorer gjør. I stedet blir alt kompilert til mellomformat, som beskrevet for .NET.
En C#-bruker kan definere egnedatatyper, bruke de innebygde, eller fra .NET-rammeverket. Primitive datatyper blir automatisk konvertert mellom ren binærform og objektform ut ifra hva brukeren bruker det til, dette kallesboxing ogunboxing.
C# støtter heltall med og uten fortegn og flyttall opp til 128-bit, men støtter ikke 80-bit [IEEE] flyttall (80-bit).
I motsetning til programmeringsspråkene C og C++, støtter ikke C# heltall som boolske verdier, men programmereren må eksplisitt bruke datatypen bool.