A partir de aquí creo que empieza ya lo interesante. Hasta que no dominemos la sintaxis de C# no trabajaremos con aplicaciones "visuales", por lo que trabajaremos por medio de la consola.
A grandes rasgos, se puede decir que una aplicación desarrollada en C# es un conjunto de uno o más ficheros de código fuente con una serie de instrucciones elegidas por nosotros según nuestras necesidades y que son pasadas a un compilador que generará nuestro ejecutable. Uno de estos ficheros es un fichero de texto plano escrito con caracteres Unicode y con la sintaxis de C#, y con la extensión .cs.
Vamos a escribir una aplicación que muestre un mensaje (por consola). Para ello abrimos nuestro VC# y nos aparecerá una imagen como la siguiente:
A continuación ejecutamos la orden Nuevo proyecto del menú Archivo. En este cuadro de diálogo seleccionamos el tipo de proyecto que queramos, en nuestro caso Aplicación de consola y escribimos el nombre de nuestra solución, yo la voy a llamar Prueba1:
Pulsamos Aceptar y nos aparecerá nuestra ventana de código. Antes que nada deciros que la ventana que aparece a la derecha se llama explorador de soluciones y contendrá todos los archivos de nuestra solución.
Por defecto, VC# nos crea la estructura de nuestro programa. Detengámonos en el código que se nos presenta. Las cuatro primeras líneas VC#, como vimos en la anterior clase, importa varios espacios de nombre, que nos serán útiles con posterioridad.
A continuación se define un namespace, con el nombre de nuestro proyecto. En la siguiente línea, se define una clase con el nombre de nuestro archivo (por defecto Program). Fijaos que cada definición está comprendida entre una llave de apertura y su correspondient
e llave de cierre.
Otro detalle importante son las tabulaciones. Con ellas veremos fácilmente donde empieza un bloque de código y donde termina. VS lo hace por nosotros, pero lo comento por si hay alguien que las quita porque cree que son inútiles.
Y por último se define un método. Pero, ¿qué es un método? Pues un conjunto de instrucciones asociadas a un nombre por el cual se referenciarán más tarde cuando queramos sin tener que reescribirlas otra vez.
Primer punto importante: todas las instrucciones y declaraciones deben terminar con ; (punto y coma), salvo que haya que abrir un bloque de código. Si programas en Pascal, por ejemplo, no notaras el cambio, pero si vienes de Visual Basic más vale que te conciencies de ello. La razón es porque en Visual Basic debías poner una instrucción de una misma línea a no ser que utilizar el carácter de subrayado, pero en C# no:
Console.WriteLine("Me cae bien {0} {1}",
"Mace",
"Windu");
Dicho esto también cabe destacar que C# distingue entre mayúsculas y minúsculas, por lo que será erróneo escribir console o CONSOLE, ya que es
Console.
Ahora VS nos ayuda a la hora de programar, ya que cuando escribimos código de forma incorrecta, nos subrayará dicha palabra al igual que hace el corrector de Microsoft Word, por ejemplo, cuando escribimos de forma errónea.
Los programas escritos en C# se organizan en clases y estructuras, de modo que todo el código que escribas debe ir siempre dentro de una clase o bien de una estructura, salvo la directiva
using. Por eso las funciones ahora se llaman métodos, porque serán métodos de la clase donde las pongas, y las variables y constantes pueden ser propiedades de la clase. Si no sabéis que es una función, una constante o una variable no os preocupéis que lo veremos un poco más adelante.
Bien, como decía un método es una serie de instrucciones, y el método que nos aparece en pantalla es el método
Main (recuerdo ni main ni MAIN).
El método
Main será el que se ejecute en primer lugar. Las instrucciones static y void son modificadores, y string[] args son los argumentos del método, todo ello lo veremos en capítulos próximos.
En cada aplicación que escribas en C# debe de haber un método llamado
Main. No importa en qué clase de tu aplicación escribas el método
Main,pues este método lo buscará el CLR para ejecutar tu aplicación. A partir de aquí, lo más aconsejable es escribir el método
Main en una clase que se llame igual que el programa más las letras App. Por ejemplo, si es un calendario, lo más recomendable es situar el método
Main en una clase que se llame CalendarioApp. Aunque lo puedes poner donde quieras, digo esto como recomendación.
Para mostrar el mensaje que queremos a través de la consola, deberemos utilizar el método
Write o
WriteLine de la clase
Console del namespace
System. Como este espacio de nombres lo importamos al principio, no necesitaremos escribirlo para llamar a dicha clase.
Para llamar a un método de una clase deberemos escribir dicha clase seguida de un punto y a continuación del método. A través del punto se pueden ir anidando namespaces, clases y métodos, siempre y cuando se haga en ese orden.
Las diferencias entre
Write y
WriteLine son muy sencillas. Con
Write escribiremos en la consola pero sin retorno de carro y con
WriteLine con retorno. Con un ejemplo se verá más fácil.
En nuestro método
Main escribimos el siguiente fragmento de código:
Console.Write(" Hola ");
Console.Write("soy Mace Windu.");
Console.Write(" Tu tutor.");
Y pulsamos F5 o ejecutamos la orden Iniciar depuración del menú Depurar. El resultado es el siguiente:
Si nos damos cuenta, la consola se muestra en un tiempo escaso para que el usuario pueda visualizar el mensaje. Para ello, escribimos al final del método
Main:
Console.ReadKey(true);
Ya explicaré más detenidamente este método de la clase
Console. Por ahora basta decir que pasando como argumento el valor
true, el programa no continuará hasta que no se pulse cualquier tecla.
Ahora ejemplifiquemo
s el método
WriteLine:
Console.Write(" Hola ");
Console.WriteLine("soy Mace Windu.");
Console.Write(" Tu tutor.");
Ejecutamos y ahora, el resultado es el siguiente:
Si queremos conseguir el mismo efecto que el anterior pero utilizando el método
Write, deberemos introducir la sentencia de escape
\n. Al decir esto, me refiero que cuando se ejecute nuestro programa, esta sentencia se traducirá como un retorno de carro, por lo que el texto pospuesto a esta estará introducido en una nueva línea. Veamos un ejemplo:
Console.Write(" Hola ");
Console.Write("soy Mace Windu.");
Console.Write("\n Tu tutor.");
El efecto será el mismo que el anterior:
Para borrar la pantalla de la consola, debemos invocar el método
Clear de la clase
Consola:
Console.Clear();
Si queremos cambiar el título de la consola, deberemos utilizar el método
Title de la misma clase;
Console.Title("El título que queramos");
Esta misma clase, nos da la posibilidad de cambiar el color del texto y del fondo de la consola. Para cambiar el color de texto, igualamos la propiedad
ForegroundColo r a el valor que queramos:
Este valor lo recoge la enumeración
ConsoleColor (ya veremos más adelante que es una enumeración) cuyos valores son:
Black Color negro.
Blue Color azul.
Cyan Color aguamarina (verde azulado claro).
DarkBlue Color azul marino.
DarkCyan Color verde azulado (verde azulado oscuro).
DarkGray Color gris oscuro.
DarkGreen Color verde oscuro.
DarkMagenta Color fucsia oscuro (púrpura).
DarkRed Color rojo oscuro.
DarkYellow Color amarillo oscuro (ocre).
Gray Color gris.
Green Color verde.
Magenta Color fucsia (rojo purpúreo).
Red Color rojo.
White Color blanco.
Yellow Color amarillo.
Por ejemplo, si queremos cambiar el color a verde, deberemos escribir:
Console.ForegroundColor = ConsoleColor.Green;
Para cambiar el color de fondo, basta con seguir el mismo procedimiento, pero ahora cambiando la propiedad
BackgroundColo r. Por ejemplo:
Console.ForegroundColor = ConsoleColor.White;
En C# hay dos tipos de comentarios. Para hacer un comentario de una sola línea se utiliza la doble barra:
//Esto es un comentario de una línea
Y también se pueden hacer un bloque que sea un comentario. Dicho bloque debería comenzar por /* y terminar en */:
/* Esto es un bloque de comentario.
Como ves podemos hacer tantas líneas de comentario como queramos.
Otra línea de comentario*/
Un comentario es texto que se incluye en el código fuente para facilitar su lectura a los programadores y cuyo contenido es, por defecto, completamente ignorado por el compilador.
Suelen usarse para incluir información sobre el autor del código, para aclarar el significado o el por qué de determinadas secciones de código, para describir el funcionamiento de los métodos, de las clases, etc.
Para ver este enlace Registrate o Inicia SesionDescargar ejemplo de los contenidos vistos (19 KB)
Esta vez quiero que los ejercicios los publiquéis, ya que la solución no es la misma para todos y así aumentan su creatividad para que sus códigos no sean parecidos a los de los demás.
Ejercicio 1: Publicar un código que contenga todo lo que hemos visto en 40 líneas (mínimo).
Salu2