domingo, 2 de diciembre de 2007

Apuntes .NET (C#) - Chapter 1 - Lexico basico

C# Es un lenguaje cuyo léxico se asemeja a C o C++ con algunas pequeñas variaciones.

La estructura básica de un programa en C# es esta:
//---------------------------------------------------------------
/*
Comentario
*/
//Otro Comentario

using System; //Clases principales del entorno de ejecución .NET

public class programa { //Todo programa en C# ha de estar contenido en una clase

public static void main() { //Void main, es el inicio de la aplicación... como en C/C++

//CÓDIGO...

}

}
//-----------------------------------------------------------------

Como explico en los comentarios, todo programa en C# ha de estar escrito dentro de una clase.
Tanto el void main() como lo que antes eran variables "Globales", ahora seran propiedades de clase, y las funciones, metodos. Y todo en .NET es una clase, usease, un objeto, pa que nos entendamos.

El espacio de nombres se asemeja a los #include, solo que todo lenguaje que use .NET ya lo lleva incorporado "de serie" y nuestros "using" solo nos sirve para no tener que escribir toda la ruta del espacio de nombres... me explico

System.Console.Write("hola"); <-- Esto escribiria "Hola" en pantalla Y si mi programa lleva escrito: using System.Console; podre escribir Write("hola"); y funcionara. Es decir, que las sentencias using no añaden ninguna biblioteca, solo nos hace mas facil el acceso a ella. Dentro del espacio de nombres incluyen las siguientes anidaciones:

  • Collections: Objetos como listas, colas, tablas hash....
  • Configurations: Objetos de configuracion e instalacion
  • Diagnostics: Codigo de depuracion y control de ejecucion
  • Globalization: Globaliza nuestra aplicacion
  • IO: Entrada/Salida
  • Net: Operaciones de red
  • Reflection: Visualizacion de los metadatos de tipos, carga dinamica y creacion de objetos
  • Security: Soporte de seguridad .NET
  • ServiceProcess: Creacion y gestion de servicios de ventanas
  • Text: Codificacion y conversion de clases y texto
  • Threading: Subprocesos y sincronizacion
  • Runtime: Interop, uso remoto y serializacion.
  • Data: Operaciones con bases de datos
  • XML: Clases para la gestion XML
  • Drawing: Clases que soportan GDI, impresion y gestion de imagenes
  • Web: Clases para tratar con servicios web
  • Windows.Forms: Clases para crear interfaces
  • ........
No estan todos los que son, pero son todos los que estan. Quiero decir, que hay mas espacios de nombres, pero no los he incluido jejeje.

Las sentencia "public" indica que el "objeto" al que precede va a ser de caracter publico, es decir, "accesible desde fuera". Que viene a ser lo contrario que la sentencia "private:" de C/C++.
Mas adelante me extendere en este tema.

Otra cosa que cabe mentar es que los tipos de datos en C# (Y creo que tambien en todos los lenguajes que corren bajo .NET, aunque no lo he mirado xD) son en realidad "pseudomacros" que llaman a los tipos de datos que alberga .NET. Explico, cuando yo creo un "int"...

int nombrevariable;

En realidad mi compilador entiende:

System.Int32 nombrevariable;

Y con esto y un bizcocho.....dew

No hay comentarios:

Publicar un comentario