C Sharp





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
TipoEquivalente BCLTamañoRangoSignificado
byteSystem.Byte8-bit (1-byte)0 a 255Entero sin signo
sbyteSystem.SByte8-bit (1-byte)-128 a 127Entero con signo
shortSystem.Int1616-bit (2-byte)-32.768 a 32.767Entero corto con signo
ushortSystem.UInt1616-bit (2-byte)0 a 65.535Entero corto sin signo
intSystem.Int3232-bit (4-byte)-2.147.483.648 a 2.147.483.647Entero medio con signo
uintSystem.UInt3232-bit (4-byte)0 a 4.294.967.295Entero medio sin signo
longSystem.Int6464-bit (8-byte)-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807Entero largo con signo
ulongSystem.UInt6464-bit (8-byte)0 a 18.446.744.073.709.551.615Entero 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
TipoEquivalente BCLTamañoRangoSignificado
floatSystem.Single32-bit (4-byte)±1.401298E−45 a ±3.402823E+38Coma flotante corto
doubleSystem.Double64-bit (8-byte)±4.94065645841246E−324 a
±1.79769313486232E+308
Coma flotante largo
decimalSystem.Decimal128-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
TipoEquivalente BCLTamañoRangoSignificado
charSystem.Char16-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
TipoEquivalente BCLTamañoRangoSignificado
boolSystem.Boolean8-bit (1-byte)true o falseVerdadero o falso



No hay comentarios:

Publicar un comentario