C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
El nombre C Sharp fue inspirado por la notación musical, donde '#' (sostenido, en inglés sharp) indica que la nota (C es la nota do en inglés) es un semitono más alta, sugiriendo que C# es superior a C/C++. Además, el signo '#' se compone de dos signos '+' pegados.
Aunque C# forma parte de la plataforma .NET, ésta es una API, mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma. Ya existe un compilador implementado que provee el marco Mono - DotGNU, el cual genera programas para distintas plataformas como Windows, Unix, Android, iOS, Windows Phone, Mac OS y GNU/Linux
Historia
Durante el desarrollo de la plataforma .NET, las bibliotecas de clases fueron escritas originalmente usando un sistema de código gestionado llamado Simple Managed C (SMC). En enero de 1999, Anders Hejlsberg formó un equipo con la misión de desarrollar un nuevo lenguaje de programación llamado Cool (C orientado a objetos). Este nombre tuvo que ser cambiado debido a problemas de marca, pasando a llamarse C#. La biblioteca de clases de la plataforma .NET fue migrada entonces al nuevo lenguaje.
Hejlsberg lideró el proyecto de desarrollo de C#. Anteriormente, ya participó en el desarrollo de otros lenguajes como Turbo Pascal, J++ y Embarcadero Delphi.
Tipos de Datos
C# contiene dos categorías generales de tipos de datos integrados: tipos de valor y tipos de referencia. El término tipo de valor indica que esos tipos contienen directamente sus valores.
Tipos para definir números enteros:
Tipo de datos de enteros | ||||
---|---|---|---|---|
Tipo | Equivalente BCL | Tamaño | Rango | Significado |
byte | System.Byte | 8-bit (1-byte) | 0 a 255 | Entero sin signo |
sbyte | System.SByte | 8-bit (1-byte) | -128 a 127 | Entero con signo |
short | System.Int16 | 16-bit (2-byte) | -32.768 a 32.767 | Entero corto con signo |
ushort | System.UInt16 | 16-bit (2-byte) | 0 a 65.535 | Entero corto sin signo |
int | System.Int32 | 32-bit (4-byte) | -2.147.483.648 a 2.147.483.647 | Entero medio con signo |
uint | System.UInt32 | 32-bit (4-byte) | 0 a 4.294.967.295 | Entero medio sin signo |
long | System.Int64 | 64-bit (8-byte) | -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 | Entero largo con signo |
ulong | System.UInt64 | 64-bit (8-byte) | 0 a 18.446.744.073.709.551.615 | Entero largo sin signo |
Los tipos de coma flotante pueden representar números con componentes fraccionales. Existen dos clases de tipos de coma flotante: float y double. El tipo double es el más utilizado porque muchas funciones matemáticas de la biblioteca de clases de C# usan valores double. Quizá, el tipo de coma flotante más interesante de C# es decimal, dirigido al uso de cálculos monetarios. La aritmética de coma flotante normal está sujeta a una variedad de errores de redondeo cuando se aplica a valores decimales. El tipo decimal elimina estos errores y puede representar hasta 28 lugares decimales.
Tipo de datos de coma flotante | ||||
---|---|---|---|---|
Tipo | Equivalente BCL | Tamaño | Rango | Significado |
float | System.Single | 32-bit (4-byte) | ±1.401298E−45 a ±3.402823E+38 | Coma flotante corto |
double | System.Double | 64-bit (8-byte) | ±4.94065645841246E−324 a ±1.79769313486232E+308 | Coma flotante largo |
decimal | System.Decimal | 128-bit (16-byte) | −7.9228162514264337593543950335 a +7.9228162514264337593543950335 | Coma flotante monetario |
Los caracteres en C# no tienen un tamaño de 8 bits como en otros muchos lenguajes de programación, sino que usa un tamaño de 16 bits llamado Unicode al cual se le llama
char
. No existen conversiones automáticas de tipo entero a char
.Tipo de datos de caracteres | ||||
---|---|---|---|---|
Tipo | Equivalente BCL | Tamaño | Rango | Significado |
char | System.Char | 16-bit (2-byte) | '\u0000' a '\uFFFF' | Carácter unicode |
Para los tipos de datos lógicos no existen conversiones automáticas de tipo entero a
bool
.Tipo de datos lógicos | ||||
---|---|---|---|---|
Tipo | Equivalente BCL | Tamaño | Rango | Significado |
bool | System.Boolean | 8-bit (1-byte) | true o false | Verdadero o falso |
No hay comentarios:
Publicar un comentario