1.2. Escribir un texto en C#
Curso: Programación en C# (2015), por Nacho Cabanes
1.2. Escribir un texto en C#
Vamos con un primer ejemplo de programa en C#, posiblemente el más sencillo de los que "hacen algo útil". Se trata de escribir un texto en pantalla. La apariencia de este programa la vimos en el tema anterior. Vamos a analizarlo ahora con más detalle:
public class Ejemplo_01_02a { public static void Main() { System.Console.WriteLine("Hola"); } }
Esto escribe "Hola" en la pantalla. Pero hay muchas "cosas raras" alrededor de ese "Hola", de modo vamos a comentarlas antes de proseguir, aunque muchos de los detalles los aplazaremos para más adelante. En este primer análisis, iremos desde dentro hacia fuera:
- WriteLine("Hola"); : "Hola" es el texto que queremos escribir, y WriteLine es la orden encargada de escribir (Write) una línea (Line) de texto en pantalla.
- Console.WriteLine("Hola"); : WriteLine siemprp irá precedido de "Console." porque es una orden de manejo de la "consola" (la pantalla "negra" en modo texto del sistema operativo).
- System.Console.WriteLine("Hola"); : Las órdenes relacionadas con el manejo de consola (Console) pertenecen a la categoría de sistema (System).
- Las llaves { y } se usan para delimitar un bloque de programa. En nuestro caso, se trata del bloque principal del programa (Main).
- public static void Main() : Main indica cual es "el cuerpo del programa", la parte principal (un programa puede estar dividido en varios fragmentos, como veremos más adelante). Todos los programas tienen que tener un bloque "Main". Los detalles de por qué hay que poner delante "public static void" y de por qué se pone después un paréntesis vacío los iremos aclarando más tarde. De momento, deberemos memorizar que ésa será la forma correcta de escribir "Main".
- public class Ejemplo_01_02a : De momento pensaremos que "Ejemplo_01_02a" es el nombre de nuestro programa. Una línea como esa deberá existir también siempre en nuestros programas (aunque el nombre no tiene por qué ser tan "rebuscado"), y eso de "public class" será obligatorio. Nuevamente, aplazamos para más tarde los detalles sobre qué quiere decir "class" y por qué debe ser "public".
Como se puede ver, mucha parte de este programa todavía es casi un "acto de fe" para nosotros. Debemos creernos que "se debe hacer así". Poco a poco iremos detallando el por qué de "public", de "static", de "void", de "class"... Por ahora nos limitaremos a "rellenar" el cuerpo del programa para entender los conceptos básicos de programación.
Ejercicio propuesto: (Pronto)
Sólo un par de cosas más antes de seguir adelante:
- Cada orden de C# debe terminar con un punto y coma (;)
- C# es un lenguaje de formato libre, de modo que puede haber varias órdenes en una misma línea, u órdenes separadas por varias líneas o espacios entre medias. Lo que realmente indica donde termina una orden y donde empieza la siguiente son los puntos y coma y las llaves. Por ese motivo, el programa anterior se podría haber escrito también así (aunque no es aconsejable, porque puede resultar menos legible):
public class Ejemplo_01_02b { public static void Main() { System.Console.WriteLine("Hola"); } }
- De hecho, hay dos formas especialmente frecuentes de colocar la llave de comienzo, y yo usaré ambas indistintamente. Una es como hemos hecho en el primer ejemplo: situar la llave de apertura en una línea, sola, y justo encima de la llave de cierre correspondiente. Esto es lo que muchos autores llaman el "estilo C". La segunda forma habitual es situándola a continuación del nombre del bloque que comienza (el "estilo Java"), así:
public class/span> Ejemplo_01_02c { public static void Main(){ System.Console.WriteLine("Hola"); } }
(esta es la forma que se empleará preferentemente en este texto cuando estemos trabajando con fuentes de mayor tamaño, para que ocupe un poco menos de espacio; en los primeros fuentes usaremos el "estilo C", que tiende a resultar más legible).
- La gran mayoría de las órdenes que encontraremos en el lenguaje C# son palabras en inglés o abreviaturas de éstas, pero hay que tener en cuenta que C# distingue entre mayúsculas y minúsculas, por lo que "WriteLine" es una palabra reconocida, pero "writeLine", "WRITELINE" o "Writeline" no lo son.
Actualizado el: 23-09-2014 12:49