C# Introduccion,Primer programa en C# etc...

Estado
Cerrado para nuevas respuestas.

Ripper

Newbie Lvl 2
¿Que Es C#?
Para enteder lo que es C# es imprescindible decir antes lo que es
.NET.Se trata de un paquede de desarollo diseñado por Microsoft
para simplificar el desarollo de aplicaciones para Internet
Tiene fundamentalmente tres componentes: una maquina virtual
que procesa codigo escrito en un lenguaje intermedio
(MSIL: Microsoft Intermediate Languaje), una biblioteca
de clases (biblioteca .NET) y ASP.NET que proporciona
los servicios necesarios para crear aplicaciones Web

Precisamente C# es uno de los lenguajes de programacion
de alto nivel que pertenece al paquete .NET(otros lenguajes
son Visual Basic, c/c++,etc.).C# es una evolucion de C/C++
Con el se pueden escribir tanto programas convecionales como
para Internet.

El Paquete .NET incluye un compilador(programa traductor)
de C# que produce un codigo escrito en un lenguage
Intermedio,comun para todos los lenguajes de dicha plataforma
Que sera el que la maquina virtual ejecutara(eso es,cada lenguaje de plataforma
tiene su compilador que produce codigo correspondiente
a un unico lenguaje: MSIL).


Programa
Escrito ---------> Compilador-----> Codigo---------> Maquina
En C# Escrito virtual
en MSIL

por lo tanto, MSIL es un lenguaje maquina que no es especifico
de ningun procesador, sino de la maquina virtual de .NET.En realidad
se trata de un lenguaje de mas alto nivel que otros lenguajes maquina:
trata directamente con objetos y tiene instrucciones para cargarlos.
guardalos,iniciarlos, invocar a sus metodos,asi como para realizar
operaciones arimeticas y logicas,para controlar el flujo de
ejecucion, etc. A su vez, la maquina virtual posee un recolector
de basura(para eliminar los objetos cuando no esten referenciados)
y proporciona traductores del lenguaje intermedio a codigo nativo para
cada arquitectura soportada; se trata de compiladores JIT
(Just in Time: al instante).


Por otra parte, antes de que el codigo MSIL pueda ser ejecutado por el procesador
de nuestra maquina, debe ser convertido a codigo nativo.Esta es la tarea
del compilador HIT: producir codigo nativo para el microprocesador
particular de nuestra maquina.Normalmente, el codigo MSIL es convertido
a codigo nativo segun se va ejecutando(el codigo se va obteniendo se va
guardando para que este accesible para subsiguientes llamadas).

¿Donde se consigue el paquete .NET? Puede obtenerlo a traves de internet
en la direccion: <a href="http://msdn.microsoft.com" class="postlink" rel="nofollow" onClick="window.open(this.href);return false;">http://msdn.microsoft.com</a>

Segun lo expuesto,es facil entedender entonces que una de las ventajas significativas
de C# sobre otros lenguajes de programacion es que es independiente de la
plataforma(lo mismo podemos decir respecto a los demas lenguajes incluidos
en .NET). Eso quiere decir que el codigo producido por el compilador C# puede
transportarse a cualquier plataforma(Intel, Sparc, Motorola, etc.)que tenga
instalada una maquina virtual de .NET y ejecutarse.Pensando en internet
esta caracteristica es crucial ya que esta red conecta ordenadores muy
distintos.

Como crear un programa
Empecemos con la creacion de un programa sencillo: el clasico ejemplo de mostrar un mensaje de saludo

Este sencillo programa lo realizaremos desde los dos puntos de vista comentados anteoirmente: utilizando la interfaz de linea de ordenes del SDK y utilizaremos un entorno de desarollo integrado

Interfaz de linea de ordenes
Abrir el Bloc de notas y crear un archivo con el Nombre "HolaMundo" adentro del archivo poner lo sig:

class HolaMundo
{
/*
*Punto de entrada del programa
*
*args: matriz de parametros pasados al programa
* mediante la linea de ordenes.Puede estar vacia.
*/
public static void Main(string[] args)
{
System.Console.WriteLine("Hola mundo!!!");
}
}
¿Que hace este programa
Comentamos brevemente cada linea del programa anterior. No apurarse si algunos de los terminos no quedan muy claros ya que tdoso ellos se veran con detalle en capitulos posteriores

La primera linea declara la clase de objetos HolaMundo, porque el esqueleto de cualquier programa C# se basa en la definicion de una clase. A continuacion se escribe el cuerpo de la clase encerrado entre los caracteres { y }.Ambas caracteristicas definene el bloque de codigo en el que se escriben las acciones a llevar a cabo por el programa C#. Las clases son la base de los programas C#. Aprenderemos mas sobre ellas en los proximos capitulos ;)

Las Siguientes lineas encerradas entre /* y */ son simplemente un comentario.Los comentarios no son tenidos en cuenta por el compilador, pero ayudan a entender el programa cuando se lee

A continuacion se escribe el metodo principal Main. observer que un metodo se distuingue por el modificador () que aparece despues de su nombre y que el bloque de codigo correspondiente al mismo define las acciones que tiene que ejecutar dicho metodo. Cuando se ejecuta un programa, C# espera que haya un metodo Main. Este metodo define el punto de entrada y de salida del programa

En el ejemplo se observa que el metodo Main llama para su ejecucion al metodo WriteLIne de la clase Console del paquete de clases System/C# emplea la denominacion de espacio de nombres en lugar de paquetes) de la biblioteca C#,que escribe como resultado la expresion que aparece especificada entre comillas.Una secuencia de caracteres entre comillas se denomina cadena de caracteres.
Observer tambien que la sentencia que invoca a WriteLine finaliza con punto y coma, su sucediendo lo mismo con la cabecera de la clase HolaMundo, ni tampoco con la cabecera del metodo Main porque la sintaxis para ambos indica que a continuacion debe escribirse el bloque de codigo - { } - que definen.
RESUMIENDO: un programa C# se basa en la definicion de una clase, una clase contiene metodos, ademas de otras definiciones, y un metodo contiene sentencias, ademas de otras definiciones, como veremos mas adelante
 
Estado
Cerrado para nuevas respuestas.
Arriba