Navnet "C sharp" blev inspireret af musikalsk notation, hvor en "sharp" (krydstegn for node på dansk) angiver, at den skrevne node skal gøres en halvtone (eller semi-tone) højere. Dette er tilsvarende navngivningen af C++, hvor ++ angiver at en variabel skal øges med 1. Tilfældigvis ligner den skarpe firkant fire sammensatte plustegn.  Hvor C blev forbedret til C++, blev C++ selv forbedret til C++++ (det vil sige, C#). Af hensyn til tekniske begrænsninger på displays (standard skrifttyper, browsere osv.) og den omstændighed, at kryds-symbolet (♯, U+266F, Krydstegn for node) ikke findes på gængse tastaturer. Derfor blev nummertegnet (#, U0023, Number Sign) valgt til at repræsentere sharptegnet i programmeringssprogets skrevne navn. Denne konvention anvendes i ECMA-334 C# Language Specification. Men når det er praktisk muligt at anvende (for eksempel i reklamer, bogomslag og på indpakning), bruger Microsoft det musikalske krydstegn for noder. Endelsen sharp er blevet brugt af en række andre .NET sprog, der er varianter af eksisterende sprog, herunder J# (et .NET sprog også designet af Microsoft, som er afledt af Java 1.1), A# (fra Ada), og funktionelle F#. Den oprindelige gennemførelse af Eiffel for .NET blev kaldt Eiffel#, et navn der nu er forældet siden hele Eiffel-sproget nu understøttes. Suffikset er også blevet brugt til kodebiblioteker, som f.eks. Gtk# (en .NET indpakning af GTK+ og andre GNOME biblioteker), Cocoa# (en .NET indpakning for Cocoa).  Typografi Selvom historien og udtalen af navnet antyder, at navnet burde skrives C♯ – hvilket det også bliver på flere af Microsofts bøger – så skrives det i ECMA's sprogdefinition C#.  Hello World Et simpelt "Hello world-program" i C#, der kører i en kommandoprompt på en Windows maskine. using System;class HelloWorld{     static void Main()     {         Console.WriteLine("Hello world!");     }} Ovenstående giver følgende output i kommandoprompten  Hello world!  Med variabler Ligesom i mange andre programmering sprog så har man noget der hedder "variabler". F.eks. hvis man vil lave en variabel som indeholder tekst, så hedder det en "string" (en steng). Her er en liste over nogle af de forskellige variabler som er i C#: string // Kan indeholde tekstint    // Tal fra -2,147,483,648 op til 2,147,483,647float  // Tal fra -3.4 × 10^38 op til +3.4 × 10^38byte   // Tal fra 0 til 255sbyte  // Tal fra -128 til 127   Her er et eksempel på hvordan man kan bruge "string" variabler i et program. using System;class HelloWorld{     static void Main()     {         string Tekst_1 = "Hello";         string Tekst_2 = "world!";         Console.WriteLine("{0} {1}", Tekst_1, Tekst_2);     }} Ovenstående giver følgende output i kommandoprompten  Hello world!  Kommentarer I C# angiver to skråstreger (//), at det efterfølgende skal opfattes som en kommentar af compileren, og derfor ikke skal fortolkes. Dette er en overlevering fra C++ public class Foo{      // Dette er en kommentar      public static void Bar(int firstParam) { } // En kommentar} En kommentar der spænder over flere linjer, indikeres ved brug af skråstreg/stjerne-notation (/*) og afsluttes igen med stjerne/skråstreg (*/). Alt hvad der står i mellem bliver af compileren opfattet som en kommentar. Det bruges ofte til at springe kode over, som måske ikke ønskes afviklet, men måske skal genindsættes senere. public class Foo{      /* En kommentar        der spænder over flere linjer     */      public static void Bar(int firstParam) { }  }  If Når det kommer til programmering i C# samt andre sprog, så kører meget af koden på "if" kommandoer. Her under kan du se hvordan de bruges i selve koden: using System;class HelloWorld{     static void Main()     {         int a = 0;          if (a == 0)         {             Console.WriteLine("Variablen a er 0");         }         else         {             Console.WriteLine("Variablen a er ikke 0");         }     }} Så som der ses ovenfor så er det en "hvis" og "hvis ikke". Ovenfor står der: Hvis variablen 'a' er lig med 0, så skal den skrive følgende, ellers så skal den skrive at det ikke er.