Proměnná je místo v paměti, kam můžeme uložit nějakou hodnotu (data).
Každá proměnná má svůj datový typ. Ten určuje, jaký typ dat lze v proměnné uchovávat (číslo, text, datum apod.).
Základní datové typy (někdy též primitivní, případně vestavěné neboli built-in types) jsou v C# několikéreho druhu:
Mezi vestavěné datové typy patří ještě objekt (object), avšak zde se nejedná o primitivní datový typ.
Následující tabulka popisuje některé základní datové typy v C#, jejich názvy v .NETu a kolik místa v paměti je potřeba pro jejich uložení.
| Klíčové slovo | Název v .NET | Velikost v RAM | Popis (rozsah) | 
|---|---|---|---|
| sbyte | System.SByte | 1 byte | Celé číslo se znaménkem od -128 do +127 | 
| byte | System.Byte | 1 byte | Celé číslo bez znaménka od 0 do 255 | 
| short | System.Int16 | 2 byty | Celé číslo se znaménkem od -32768 do +32767 | 
| ushort | System.UInt16 | 2 byty | Celé číslo bez znaménka od 0 do 65535 | 
| int | System.Int32 | 4 byty | Celé číslo se znaménkem od -2 147 483 648 do +2 147 483 647 | 
| uint | System.UInt32 | 4 byty | Celé číslo bez znaménka od 0 do 4 294 967 295 | 
| long | System.Int64 | 8 bytů | Celé číslo se znaménkem od cca minus 10 trilionů do cca plus 10 trilionů | 
| ulong | System.UInt64 | 8 bytů | Celé číslo bez znaménka od nuly do cca plus 20 trilionů | 
| float | System.Single | 4 byty | Desetinné číslo s plovoucí řádovou čárkou v rozsahu až 1038 s až 9 platnými číslicemi | 
| double | System.Double | 8 bytů | Desetinné číslo s plovoucí řádovou čárkou v rozsahu až 10308 s až 17 platnými číslicemi | 
| decimal | System.Decimal | 16 bytů | Desetinné číslo s plovoucí řádovou čárkou v rozsahu až 1028 s až 29 platnými číslicemi | 
| bool | System.Boolean | 1 byte | Logická hodnota "pravda" (true) a "nepravda" (false); na reprezentaci stačí 1 bit | 
| char | System.Char | 2 byty | Znak v kódování Unicode UTF-16 v rozsahu U+0000 až U+FFFF | 
| string | System.String | (různá) | Textový řetězec (de facto pole hodnot typu char), místo v paměti závisí na jeho délce | 
| object | System.Object | (různá) | Obecný objekt, předek všech ostatních datových typů, místo v paměti závisí na konkrétním typu |