Programacion En C#

Páginas: 18 (4283 palabras) Publicado: 9 de enero de 2013
Marco Besteiro y Miguel Rodríguez

Introducción al lenguaje C#

Introducción.
C# es un lenguaje orientado a objetos (es más correcto decir orientado a componentes) diseñado para el CLR (Common Language Runtime) de la plataforma .NET que se llamó en un principio NGWS, es decir, Next Generation Windows Services. El CLR es un entorno de ejecución basado en componentes, ofrecidos por elFramework de la tecnología .NET. Visual Studio.NET soporta esta plataforma y también el lenguaje C#, así como C++, Visual Basic y los lenguajes de script VBScript y JScript. Con C# se pretende combinar la facilidad de Visual Basic y la potencia de C++. C# deriva de C y C++. Elimina características inseguras y complejas de éstos y les añade otras que ofrecen mayor comodidad. Por ejemplo: se eliminan lospunteros (es posible utilizarlos en un código llamado inseguro), las macros, las plantillas, la herencia múltiple, los ficheros de cabecera, IDL, librerías de tipos... Además se añaden otras características, como orientación a objetos casi pura, seguridad de tipos, versiones, gestión automática de memoria (garbage collector)... C# se compila a un lenguaje intermedio llamado IL (MSIL) (IntermediateLanguage), que no es binario dependiente de la plataforma, sino que se ejecuta sobre una máquina virtual que provee el Common Language Runtime. Esto no quiere decir que C# no pueda compilarse a código binario dependiente de la plataforma. Simplemente ha sido pensado para el CLR. Existe una solución intermedia, que es la posibilidad de utilizar código nativo desde C#. El inconveniente de estasolución es que rompe la portabilidad. En definitiva, desde C# se puede utilizar no sólo el API provisto por el Framework .NET, sino que también se puede utilizar el API COM, la Automatización y las APIs de estilo C.

Diferencias entre C# y C/C++.
C# ha sido diseñado para ser fácilmente aceptado por los desarrolladores de C y C++. No obstante presenta importantes diferencias: La gestión de memoria esautomática, lo cual quiere decir que el desarrollador sólo ha de preocuparse de crear un objeto cuando lo necesite pero no de eliminarlo, ya que esta tarea queda a cargo del garbage collector (recolector de basura). Este hecho cambia el sentido del destructor de una clase. No se utilizan punteros. En su lugar se utilizan referencias a objetos. No obstante, se permite utilizar punteros en casosespeciales, como por ejemplo cuando es necesario acceder a código nativo (dll) al que hay que pasarle o que devuelve punteros (al código C# de este tipo se le denomina código inseguro). Existe una posibilidad de utilizar punteros en código seguro y es a través de objetos de un tipo especial llamados Delegates Su comportamiento es similar a

-

1/13

1

Marco Besteiro y Miguel RodríguezIntroducción al lenguaje C#

-

-

-

-

-

los punteros a funciones, con la ventaja de ser más seguro y respetar los tipos de datos. Se cambian ciertos aspectos referentes a los operadores: o No se utilizan los operadores -> ni ::. El único operador de acceso a métodos de objetos que se utiliza es el operador punto ‘.’ . o Se incluyen dos operadores nuevos: is y typeof. o Se cambia elfuncionamiento de los operadores lógicos &, ^ y |. o La sobrecarga de operadores es diferente. Hay ciertas palabras clave que se utilizan de modo distinto, como extern y static. El método Main se declara de modo distinto. No se permiten las declaraciones adelantadas (forward). El manejo de errores se hace mediante excepciones. No se soportan las macros, aunque sí las directivas de preprocesador. Nose utilizan ficheros de cabecera (.h) ni similares (IDL y librerías de tipos). El código es compilado en unidades llamadas assemblies, en las cuales se almacena la representación del código en un lenguaje intermedio llamado IL y los metadatos, que sustituyen a los ficheros .h de C++ (o a las librerías de tipos y entradas de registro). Los assemblies se pueden generar a partir de código escrito...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programacion C
  • Programacion c++
  • c# Programacion
  • Programacion En C#
  • Programacion en c
  • Programacion en c
  • Programacion en c++
  • Programacion c ++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS