cualquiera
La sintaxis de C# es muy expresiva, aunque cuenta con menos de 90 palabras clave;
también es sencilla y fácil de aprender. La sintaxis de C# basada en signos de llave podrá
ser reconocida inmediatamente por cualquier persona familiarizada con C, C++ o Java.
Los desarrolladores que conocen cualquiera de estos lenguajes pueden empezar a
trabajar de forma productiva en C# en unplazo muy breve. La sintaxis de C# simplifica
muchas de las complejidades de C++ y, a la vez, ofrece funciones eficaces tales como
tipos de valores que aceptan valores NULL, enumeraciones, delegados, métodos
anónimos y acceso directo a memoria, que no se encuentran en Java. C# también admite
métodos y tipos genéricos, que proporcionan mayor rendimiento y seguridad de tipos, e
iteradores, quepermiten a los implementadores de clases de colección definir
comportamientos de iteración personalizados que el código de cliente puede utilizar
fácilmente.
Como lenguaje orientado a objetos, C# admite los conceptos de encapsulación, herencia
y polimorfismo. Todas las variables y métodos, incluido el método Main que es el punto de
entrada de la aplicación, se encapsulan dentro de definicionesde clase. Una clase puede
heredar directamente de una clase primaria, pero puede implementar cualquier número de
interfaces. Los métodos que reemplazan a los métodos virtuales en una clase primaria
requieren la palabra clave override como medio para evitar redefiniciones accidentales.
En C#, una estructura es como una clase sencilla; es un tipo asignado en la pila que
puede implementarinterfaces pero que no admite la herencia.
Además de estos principios básicos orientados a objetos, C# facilita el desarrollo de
componentes de software a través de varias construcciones de lenguaje innovadoras,
entre las que se incluyen:
Firmas de métodos encapsulados denominadas delegados, que permiten
notificaciones de eventos con seguridad de tipos.
Propiedades, que actúan comodescriptores de acceso para variables miembro
privadas o protegidas.
Atributos, que proporcionan metadatos declarativos sobre tipos en tiempo de
ejecución.
Soporta conceptos tales como estructuras, componentes y programación orientada
a objetos, manipulación de errores, recolección de basura entre otros.
Las clases en C# pueden heredar de un padre pero puede implementar varias
interfaces,permitiendo además el uso de clases selladas, parciales y coclases.
Provee control de errores basado en el tratamiento de excepciones.
Soporta encapsulación, herencia y polimorfismo.
Soporte para distintos tipos de parámetros, que comprenden los tradicionales
parámetros por valor, parámetros por referencia, parámetros de salida y métodos
con cantidad variable de parámetros.
Accesocompleto a cualquier manejador de bases de datos.
Métodos anónimos, que se implementan mediante delegados a los que en línea se
les asigna el código a ejecutar.
Tipos anónimos o parametrización de tipos, que permiten definir métodos (que
tiene parámetros sin tipo definido o tipo de resultado no definido), e incluso clases
(templates o plantillas) con atributos de tipo parametrizado.
Uso de ensamblados, que consisten en una agrupación lógica de uno o más
módulos o archivos de recursos (archivos de tipos variables como .GIF, .HTML,
etc.) que se engloban bajo un nombre común; de esta manera un programa puede
acceder a información o código almacenados en un ensamblado sin saber cuál es
el archivo concreto donde se encuentran,
Si necesita interactuar con otro software deWindows, como objetos COM o archivos DLL
nativos
de
Win32,
podrá
hacerlo
en
C#
mediante
un
proceso
denominado
"interoperabilidad". La interoperabilidad permite que los programas de C# realicen
prácticamente lo mismo que una aplicación de C++ nativa. C# admite incluso el uso de
punteros y el concepto de código "no seguro" en los casos en que el acceso directo a la...
Regístrate para leer el documento completo.