C# proporciona 16 tipos de datos integrados o predefinidos para representar números enteros, decimales, de punto flotante, valores booleanos, caracteres, cadenas de caracteres, y otros tipos. De estos, 13 se denominan simples.
Los 13 tipos predefinidos simples incluyen:
-
- Once tipos numéricos:
- Ocho tipos enteros de varias longitudes, con y sin signo:
sbyte,byte,short,ushort,int,uint,long yulong. - Dos tipos de punto flotante:
floatydouble. - Un tipo de mayor precisión llamado
decimal, que a diferencia defloatydouble, puede representar números con fracciones exactas. Lo que lo hace adecuado para cálculos financieros, monetarios, operaciones aritméticas, etc.
- Ocho tipos enteros de varias longitudes, con y sin signo:
- Un tipo de caracter unicode, llamado
char. bool, Un tipo que representa dos valores, verdadero y falso.
- Once tipos numéricos:
Los 3 tipos restantes o no simples son:
object, que es el tipo base de todos los demás tipos.string, el cual representa un arreglo de caracteres Unicode.dynamic, el cual es usado para escribir assemblies en lenguajes dinámicos.

Tabla de Tipos Integrados Simples
Todos los tipos integrados simples del lenguaje C#, son alias de tipos .NET Framework predefinidos en el espacio de nombres System. Por ejemplo, int es un alias de System.Int32.
La siguiente tabla muestra todos los tipos de datos integrados simples.
| Tipo C# | Intervalo | Tamaño / Precisión | Tipo .NET | Default |
|---|---|---|---|---|
sbyte |
De -128 a 127 | Entero de 8 bits con signo | System.SByte |
0 |
byte |
De 0 a 255 | Entero de 8 bits sin signo | System.Byte |
0 |
short |
De -32 768 a 32 767 | Entero de 16 bits con signo | System.Int16 |
0 |
ushort |
De 0 a 65.535 | Entero de 16 bits sin signo | System.UInt16 |
0 |
int |
De -2.147.483.648 a 2.147.483.647 | Entero de 32 bits con signo | System.Int32 |
0 |
uint |
De 0 a 4.294.967.295 | Entero de 32 bits sin signo | System.UInt32 |
0 |
long |
De -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 | Entero de 64 bits con signo | System.Int64 |
0 |
ulong |
De 0 a 18.446.744.073.709.551.615 | Entero de 64 bits sin signo | System.UInt64 |
0 |
float |
De ±1,5 x 10-45 a ±3,4 x 1038 | 7 dígitos | System.Single |
0.0f |
double |
De ±5,0 × 10−324 a ±1,7 × 10308 | 15-16 dígitos | System.Double |
0.0d |
decimal |
De ±1,0 x 10-28 to ±7,9228 x 1028 | 28-29 dígitos significativos | System.Decimal |
0m |
char |
U+0000 a U+FFFF | Carácter Unicode de 16 bits | System.Char |
\x0000 |
bool |
Booleano | true, false | System.Boolean |
false |
Tabla de Tipos Integrados No Simples
Los tipos de datos integrados no simples son:
| Tipo C# | Descripción | Tipo .NET |
|---|---|---|
object |
Es la clase base para todos los demás tipos, incluidos los tipos integrados simples. | System.Object |
string |
Una secuencia de caracteres Unicode. | System.String |
dynamic |
Es un tipo diseñado para ser usado con assemblies escritos en lenguajes dinámicos | No corresponde a un tipo .NET |
Comentarios
El alias y su tipo .NET son intercambiables. Por ejemplo, puede declarar una variable de tipo entero de dos formas:
int varInt1 = 1; // Usando un alias System.Int32 varInt2 = 2; // Usando un tipo .NET Framework