Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contenido Descripcin general Estructura de un programa C# Operaciones bsicas de entrada/salida Compilacin, ejecucin y depuracin 1 2 9 18
Introduccin a C#
Introduccin a C#
Notas generales
Objetivo del tema
Ofrecer una introduccin a los contenidos y objetivos del mdulo.
Explicacin previa
En este mdulo aprender los elementos bsicos de C# y cmo compilar, vincular y ejecutar un programa C#.
Estructura de un programa C# Operaciones bsicas de entrada/salida Prcticas recomendadas Compilacin, ejecucin y depuracin
En este mdulo estudiar la estructura bsica de un programa C# analizando un ejemplo de trabajo sencillo. Aprender a usar la clase Console para realizar algunas operaciones bsicas de entrada y salida. Aprender tambin algunas prcticas recomendadas para el tratamiento de errores y la documentacin del cdigo, y finalmente compilar, ejecutar y compilar un programa C#. Al final de este mdulo, usted ser capaz de: Explicar la estructura de un programa C# sencillo. Utilizar la clase Console del espacio de nombres System para realizar operaciones bsicas de entrada/salida. Tratar excepciones en un programa C#. Generar documentacin en lenguaje de marcado extensible (XML) para un programa C#. Compilar y ejecutar un programa C#. Utilizar el depurador para seguir paso a paso la ejecucin de un programa.
Introduccin a C#
Estructura de un programa C#
Objetivo del tema
Ofrecer una introduccin a los temas tratados en esta seccin.
Explicacin previa
Hola, mundo La clase El mtodo Main La sentencia using y el espacio de nombres System Demostracin: Uso de Visual Studio para crear un programa C#
Recomendacin al profesor
En esta leccin se hacen muchas comparaciones entre C# y otros lenguajes con los que los estudiantes pueden estar familiarizados. Es recomendable sealar las similitudes y las pequeas (y no tan pequeas) diferencias.
En esta leccin estudiar la estructura bsica de un programa C# analizando un programa simple que contiene todas las caractersticas esenciales. Tambin aprender a usar Microsoft Visual Studio para crear y editar un programa C#.
Introduccin a C#
Hola, mundo
Objetivo del tema
Mostrar un programa C# que funciona.
Explicacin previa
El primer programa que se suele escribir en un lenguaje nuevo es el inevitable Hola, mundo.
using System; using System; class Hola class Hello { { public static void Main() public static void Main() { { Console.WriteLine("Hola, mundo); Console.WriteLine("Hello , World"); } } } }
Recomendacin al profesor
ste es el estilo, diseo y definicin de Main que emplea Visual Studio para crear un nuevo programa C#. Puede escribir el cdigo, compilarlo y ejecutarlo desde la lnea de comandos.
El primer programa que se suele escribir cuando se aprende un lenguaje nuevo es el inevitable Hola, mundo. En este mdulo tendr la oportunidad de examinar la versin en C# de este primer programa. El cdigo de ejemplo en la transparencia contiene todos los elementos esenciales de un programa C# y es muy fcil de probar. Lo nico que hace cuando se ejecuta desde la lnea de comandos es mostrar el siguiente mensaje:
Hola, mundo
En los temas que siguen analizaremos este programa simple para aprender ms sobre los componentes de un programa C#.
Introduccin a C#
La clase
Objetivo del tema
Destacar que todas las aplicaciones C# son una coleccin de clases.
Explicacin previa
Una aplicacin C# es una coleccin de clases, estructuras y tipos Una clase es un conjunto de datos y mtodos Sintaxis class nombre class name { { ... ... } } Una aplicacin C# puede incluir muchos archivos Una clase no puede abarcar ms de un archivo
Recomendacin al profesor
No inicie todava una discusin completa sobre la definicin de una clase. Limtese a la explicacin sencilla que se da en las notas de los estudiantes.
En C#, una aplicacin es una coleccin de una o ms clases, estructuras de datos y otros tipos. En este mdulo se define una clase como un conjunto de datos combinados con mtodos (o funciones) que pueden manipular esos datos. En mdulos posteriores aprenderemos ms sobre clases y todo lo que pueden ofrecer al programador de C#. Un examen del cdigo para la aplicacin Hola, mundo revela que hay una sola clase llamada Hola. Esta clase se introduce con la palabra clave class. Despus del nombre de la clase hay una llave de apertura ({). Todo lo que hay hasta la correspondiente llave de cierre (}) forma parte de la clase. Las clases para una aplicacin C# se pueden extender a uno o ms archivos. Es posible poner varias clases en un archivo, pero una sola clase no puede abarcar ms de un archivo. Nota para programadores en Java No es necesario que el nombre del archivo de la aplicacin coincida con el nombre de la clase. Nota para programadores en C++ C# no distingue entre la definicin y el uso de una clase de la misma forma que C++. No existe el concepto de archivo de definicin (.hpp). Todo el cdigo para la clase se escribe en un solo archivo.
Introduccin a C#
El mtodo Main
Objetivo del tema
Explicar dnde comienza una aplicacin C# cuando se ejecuta.
Explicacin previa
Cuando se ejecuta una aplicacin C#, la ejecucin se inicia con el mtodo Main.
Al escribir Main hay que: Utilizar una M mayscula, como en Main Designar un Main como el punto de entrada al programa Declarar Main como public static void Main Un Main puede pertenecer a mltiple clases La aplicacin termina cuando Main acaba o ejecuta un return
Al tratar este tema, haga hincapi en que muchos de los puntos discutidos se tratarn en detalle ms adelante. El objetivo de este tema es simplemente destacar las reglas bsicas del mtodo Main.
Todas las aplicaciones tienen que empezar por algn sitio. Cuando se ejecuta una aplicacin C#, la ejecucin se inicia en el mtodo llamado Main. Si est acostumbrado a programar en C, C++ o incluso en Java, este concepto le resultar familiar. El lenguaje C# distingue entre maysculas y minsculas. Main debe estar escrito con una M mayscula y con las dems letras en minsculas. Aunque en una aplicacin C# puede haber muchas clases, no puede haber ms que un punto de entrada. Es posible tener muchas clases con Main en la misma aplicacin, pero se ejecutar slo un Main. Al compilar la aplicacin hay que especificar cul se va a utilizar. Tambin es importante la firma de Main. Si se emplea Visual Studio, se crear automticamente como static void (como veremos ms adelante en el curso). No se debe cambiar la firma si no hay una buena razn para hacerlo. Consejo Hasta cierto punto es posible cambiar la firma, pero debe ser siempre static, ya que de lo contrario es posible que el compilador no la reconozca como punto de entrada a la aplicacin. La aplicacin se ejecuta hasta llegar al final de Main o hasta que Main ejecuta una instruccin return.
Recomendacin al profesor
Es posible poner Main en una estructura en lugar de una clase. Las estructuras se tratarn ms adelante en este mdulo.
Introduccin a C#
Explicacin previa
.NET Framework ofrece muchas clases de utilidad Organizadas en espacios de nombres System es el espacio de nombres ms utilizado Se hace referencia a clases por su espacio de nombres
System.Console.WriteLine("Hola,World"); , mundo);
La sentencia using
using System; using System; Console.WriteLine("Hola, World"); Console.WriteLine("Hello mundo); ,
Recomendacin al profesor
Los espacios de nombres se tratarn con detalle en el mdulo 11, Agregacin, espacios de nombres y mbito avanzado, del curso 2124C, Programacin en C#. La informacin que se da aqu es suficiente para entender la sentencia using.
Como parte de Microsoft .NET Framework, C# incluye muchas clases de utilidad que realizan una gran variedad de operaciones tiles. Estas clases estn organizadas en espacios de nombres, que son conjuntos de clases relacionadas. Un espacio de nombres tambin puede contener otros espacios de nombres. .NET Framework est compuesto por muchos espacios de nombres, el ms importante de los cuales se llama System. El nombre de espacios System contiene las clases que emplean la mayor parte de las aplicaciones para interactuar con el sistema operativo. Las clases ms utilizadas son las de entrada y salida (E/S). Como ocurre en muchos otros lenguajes, C# no tiene funciones propias de E/S y por tanto depende del sistema operativo para ofrecer una interfaz compatible con C#. Para hacer referencia a objetos en espacios de nombres se utiliza un prefijo explcito con el identificador del espacio de nombres. Por ejemplo, el espacio de nombres System contiene la clase Console, que a su vez contiene varios mtodos, como WriteLine. Se puede acceder al mtodo WriteLine de la clase Console de la siguiente manera:
System.Console.WriteLine("Hola, mundo");
Sin embargo, el uso de un nombre completo para referirse a objetos puede resultar poco manejable y propicio a errores. Para hacerlo ms sencillo, se puede especificar un espacio de nombres poniendo una sentencia using al comienzo de la aplicacin, antes de la definicin de la primera clase. Una sentencia using especifica el espacio de nombres que se examinara si una clase no est definida explcitamente en la aplicacin. Es posible poner ms de una sentencia using en el archivo de origen, pero todas tienen que ir al principio del archivo.
Introduccin a C#
Recomendacin al profesor
Asegrese de que los programadores de C y C++ entienden la diferencia entre la sentencia using y la declaracin #include. Los desarrolladores de Java estarn ms familiarizados con este punto, ya que es similar a la sentencia import.
En la aplicacin Hola, mundo, la clase Console no est definida explcitamente. Cuando se compila la aplicacin, el compilador busca Console en el espacio de nombres System y genera cdigo que hace referencia al nombre completo System.Console. Nota Las clases del espacio de nombres System, as como las dems funciones bsicas a las que se accede en tiempo de ejecucin, residen en un ensamblado llamado mscorlib.dll que es el que se utiliza por defecto. Es posible referirse a clases de otros ensamblados, pero para ello hay que especificar las ubicaciones y los nombres de esos ensamblados al compilar la aplicacin.
Introduccin a C#
4. Una vez generado el proyecto, seale y discuta las siguientes caractersticas de Visual Studio: La ventana Solution Explorer (Explorador de soluciones) i. Cierre la ventana de cdigo Class1.cs. ii. Cambie el nombre de Class1.cs a Hola.cs. iii. Haga doble clic en Hola.cs para volver a abrir la ventana de cdigo. La ventana Properties (Propiedades) Las barras de herramientas El men View (Ver) El men Build (Compilar) El men Debug (Depurar) El men Help (Ayuda) 5. Utilizando la ventana de cdigo Hola.cs, seale y discuta lo siguiente: El espacio de nombres Hola Menciones que los espacios de nombres se discutirn ms adelante. Podra borrar esta lnea y las llaves correspondientes, pero por el momento djelas como estn. La sentencia using Los comentarios de XML Use esta seccin para describir brevemente el programa. Los comentarios se discutirn en detalle ms adelante. La definicin de clase El nombre por defecto de la clase es Class1. Cmbielo a Demonstrator. El mtodo Main Escriba el siguiente cdigo:
Console.WriteLine("Hola, mundo");
Microsoft IntelliSense 6. En el men File, seleccione Save All (Guardar todo). 7. Cierre Visual Studio.
Introduccin a C#
Explicacin previa
La clase Console Los mtodos Write y WriteLine Los mtodos Read y ReaLine
En esta leccin aprender a realizar en C# operaciones de entrada/salida basadas en comandos utilizando la clase Console. Tambin aprender a mostrar informacin con los mtodos Write y WriteLine, as como a obtener informacin introducida desde el teclado con los mtodos Read y ReadLine.
Introduccin a C#
10
La clase Console
Explicar el empleo de la clase Console.
Explicacin previa
Puede emplear mtodos de la clase Console para leer datos introducidos desde el teclado o para escribir datos en la pantalla.
Permite acceder a las secuencias estndar de entrada, salida y error Slo tiene sentido para aplicaciones de consola Entrada estndar: teclado Salida estndar: Pantalla Error estndar: Pantalla Es posible redireccionar todas las secuencias
Recomendacin al profesor
La clase Console hace que una aplicacin C# pueda acceder a las secuencias estndar de entrada, salida y error. La entrada estndar est asociada normalmente con el teclado, de forma que todo lo que el usuario escribe en el teclado se puede leer desde la secuencia de entrada estndar. Del mismo modo, la secuencia de salida estndar suele estar dirigida a la pantalla, al igual que la secuencia de error estndar. Nota Estas secuencias y la clase Console slo tienen sentido para aplicaciones de consola, que son las que se ejecutan en una ventana Command (Comandos). Es posible direccionar cualquiera de las tres secuencias (entrada estndar, salida estndar, error estndar) a un archivo o dispositivo, tanto durante la programacin como al ejecutar la aplicacin.
Insista en que la clase Console se debe utilizar nicamente para aplicaciones de lnea de comandos. Los desarrolladores que escriban aplicaciones de interfaz grfica de usuario (GUI) tienen que usar clases del espacio de nombres System.Windows.Forms.
Introduccin a C#
11
Explicacin previa
Los mtodos Write y WriteLine permiten enviar informacin a la secuencia de salida estndar.
Console.Write y Console.WriteLine muestran informacin en la pantalla de la consola WriteLine enva un fin de lnea/retorno de carro Ambos mtodos son sobrecargados Es posible emplear una cadena de formato y parmetros Formatos de texto Formatos numricos
Recomendacin al profesor
Puede ser conveniente buscar paralelismos con cout en C++, printf en C y System.out.print en Java, dependiendo de los estudiantes. En Visual Basic no hay ninguna funcin que sea realmente equivalente. Procure tambin que la discusin sobre sobrecarga de mtodos sea corta y simple. Es posible que algunos estudiantes an no la entiendan, y adems se tratar con ms detalle en un mdulo posterior.
Los mtodos Console.Write y Console.WriteLine se pueden utilizar para mostrar informacin en la pantalla de la consola. Los dos mtodos son muy similares; la diferencia ms importante es que WriteLine aade un fin de lnea/retorno de carro al final de la salida, mientras que Write no lo hace. Ambos mtodos son sobrecargados. Puede explicarlo con nmeros variables y tipos de parmetros. Por ejemplo, puede usar el siguiente cdigo para escribir 99 en la pantalla:
Console.WriteLine(99);
Tambin puede usar el siguiente cdigo para escribir Hola, mundo en la pantalla:
Console.WriteLine("Hola, mundo");
Formatos de texto
Existen formas de Write y WriteLine ms potentes, que toman una cadena de formato y parmetros adicionales. La cadena de formato especifica cmo aparecen los datos y puede contener marcadores, que son sustituidos por los parmetros que siguen. Por ejemplo, puede usar el siguiente cdigo para mostrar el mensaje La suma de 100 y 130 es 230:
Console.WriteLine("La suma de {0} y {1} es {2}", 100, 130, 100+130);
Importante El primer parmetro que sigue a la cadena de formato se referencia como parmetro cero: {0}.
Introduccin a C#
12
Se puede utilizar el parmetro de la cadena de formato para especificar anchuras de campos y para indicar si los valores en esos campos deben ir justificados a derecha o a izquierda, como se ve en el siguiente cdigo:
Console.WriteLine("\"Justificacin a la izquierda en un campo de anchura 10: {0, -10}\"", 99); Console.WriteLine("\"Justificacin a la derecha en un campo de anchura 10: {0,10}\"", 99);
Esto har que en la consola aparezca lo siguiente: Justificacin a la izquierda en un campo de anchura 10: 99 Justificacin a la derecha en un campo de anchura 10: 99
Nota Para desactivar el significado especial de un carcter en una cadena de formato se puede usar una barra diagonal inversa (\) antes de ese carcter. Por ejemplo, "\{" har que aparezca un "{" literal y "\\" mostrar un "\" literal. Tambin se puede emplear el carcter @ para representar al pie de la letra una cadena entera. Por ejemplo, @"\\server\share" dar como resultado "\\server\share."
Formatos numricos
Es posible utilizar la cadena de formato para especificar el formato de datos numricos. La sintaxis completa para la cadena de formato es {N,M: FormatString}, donde N es el nmero del parmetro, M es la anchura y justificacin del campo, y FormatString indica cmo se deben mostrar los datos numricos. La tabla siguiente resume los valores que puede adoptar FormatString. Opcionalmente, en todos estos formatos se puede especificar el nmero de dgitos que se desea mostrar o al que se debe redondear.
Valor C D E F G N X Significado Muestra el nmero como una unidad monetaria, usando el smbolo y las convenciones de la moneda local. Muestra el nmero como un entero decimal. Muestra el nmero como usando notacin exponencial (cientfica). Muestra el nmero como un valor en coma fija. Muestra el nmero como un valor entero o en coma fija, dependiendo del formato que sea ms compacto. Muestra el nmero con comas incorporadas. Muestra el nmero utilizando notacin hexadecimal.
Introduccin a C#
13
entero - {0:D5}", 88); exponencial - {0:E}", 888.8); de punto fijo - {0:F3}", general - {0:G}", 888.8888); de nmero - {0:N}", 8888888.8); hexadecimal - {0:X4}", 88);
Nota Para ms informacin sobre formatos, busque cadenas de formato en la ayuda de Microsoft MSDN.
Introduccin a C#
14
Explicacin previa
Los mtodos Read y ReadLine permiten obtener informacin introducida por el usuario con el teclado.
Console.Read y Console.ReadLine leen informacin introducida por el usuario Read lee el siguiente carcter ReadLine lee toda la lnea introducida
Recomendacin al profesor
Los mtodos Console.Read y Console.ReadLine se pueden utilizar para mostrar informacin introducida por el usuario con el teclado.
No se ofrece ningn ejemplo de Read porque, para tener algn sentido, el ejemplo tendra que mostrar cmo pasar de un entero (devuelto por Read) a un carcter: int i; char c; i = Console.Read( ); c = (char) i; Console.WriteLine(c);
El mtodo Read
Read lee el siguiente carcter desde el teclado. Devuelve el valor int 1 si ya no hay ms informacin. De lo contrario, devuelve un int que representa el carcter ledo.
El mtodo ReadLine
ReadLine lee todos los caracteres hasta el final de la lnea introducida (el retorno de carcter de carro). La informacin introducida se devuelve como una cadena de caracteres. El siguiente cdigo se puede utilizar para leer una lnea de texto desde el teclado y mostrarla en la pantalla:
string input = Console.ReadLine( ); Console.WriteLine("{0}", input);
Introduccin a C#
15
Comentarios a aplicaciones
Objetivo del tema
Explicar cmo hacer comentarios a aplicaciones.
Explicacin previa
Los comentarios son importantes Una aplicacin con los comentarios adecuados permite a un desarrollador comprender perfectamente la estructura de la aplicacin Comentarios de una sola lnea
// Obtener el nombre del usuario // Get the users name Console.WriteLine("Cmo se llama? "); Console.WriteLine("Whats your name? "); i name = Console.ReadLine(); name = Console.ReadLine ); (
Recomendacin al profesor
Los comentarios son importantes, pero su distribucin y densidad dependen de las preferencias del desarrollador. Pregunte a los estudiantes cules son las normas sobre comentarios seguidas en sus organizaciones.
Es importante que todas las aplicaciones tengan una documentacin adecuada. Siempre hay que incluir suficientes comentarios para que un desarrollador que no participara en la creacin de la aplicacin original pueda seguir y comprender su funcionamiento. Los comentarios deben ser exhaustivos y pertinentes. Unos buenos comentarios aaden informacin que no es fcil de expresar usando slo las instrucciones del cdigo, ya que explican el porqu en lugar del qu. Siga las normas de su organizacin para comentar cdigo (si las tiene). C# ofrece varios mecanismos que permiten aadir comentarios al cdigo de aplicaciones: comentarios de una sola lnea, comentarios de varias lneas y documentacin generada en XML. Para aadir un comentario de una sola lnea se pueden utilizar los caracteres de barra diagonal (//). Al ejecutar la aplicacin, se ignora todo lo que sigue a estos dos caracteres hasta el final de la lnea. Tambin es posible hacer comentarios en bloques de varias lneas. Un comentario en bloque empieza con el par de caracteres /* y contina hasta llegar al el par de caracteres */ correspondiente. Los comentarios en bloques no pueden estar anidados.
Introduccin a C#
16
Tratamiento de excepciones
Objetivo del tema
Explicar cmo capturar excepciones de tiempo de ejecucin en C#.
Explicacin previa
using System; using System; public class Hello public class Hello { { public static void Main(string [ ] args ) public static void Main(string [ ] args ) { { try{ try{ Console.WriteLine(args[0]); Console.WriteLine(args[0]); } } catch (Exception e) { catch (Exception e) { Console.WriteLine("Excepcin en t Console.WriteLine("Exception a {0}", e.StackTrace ); {0}", e.StackTrace ); } } } } } }
Recomendacin al profesor
En este tema se ofrecen comentarios generales sobre el tratamiento de excepciones. Se darn ms detalles en el mdulo 4, Instrucciones y excepciones, del curso 2124C, Programacin en C#.
Una buena aplicacin C# debe tener capacidad para enfrentarse a lo inesperado. Por muchas comprobaciones de error que se aadan al cdigo, siempre habr algo que pueda ir mal. El usuario puede dar una respuesta imprevista a una pregunta, por ejemplo, o tratar de escribir a un archivo en una carpeta que ha sido borrada. Las posibilidades son infinitas. Si se produce un error de tiempo de ejecucin en una aplicacin C#, el sistema operativo lanza una excepcin. Las excepciones se pueden capturar con una combinacin de las instrucciones try y catch, como se muestra en la transparencia. Si alguna de las instrucciones en la parte try de la aplicacin hace que se produzca una excepcin, la ejecucin pasar al bloque catch. Para obtener informacin sobre la excepcin producida se pueden emplear las propiedades StackTrace, Message y Source del objeto Exception. El tratamiento de excepciones se tratar con ms detalle en un mdulo posterior. Nota Si se imprime una excepcin, utilizando por ejemplo Console.WriteLine, la excepcin se dar formato automticamente y mostrar las propiedades StackTrace, Message y Source.
Introduccin a C#
17
Consejo Incluir el tratamiento de excepciones en aplicaciones C# desde el principio es mucho ms sencillo que tratar de aadirlo despus. Si no se utiliza tratamiento de excepciones se producir una excepcin en tiempo de ejecucin. Si en lugar de ello se prefiere depurar un programa utilizando depuracin Just-in-Time, es preciso activarla antes. Una vez activada, depuracin Just-in-Time indicar el depurador que hay que utilizar dependiendo del entorno y de las herramientas instaladas.
Ejecute los siguientes pasos para activar la depuracin Just-in-Time: 1. En el men Tools (Herramientas), pulse Options (Opciones). 2. En el cuadro de dilogo Options, haga clic en la carpeta Debugging (Depuracin). 3. En la carpeta Debugging, pulse Just-In-Time Debugging (Depuracin Just-in-Time). 4. Active o desactive la depuracin Just-in-Time (JIT) para distintos tipos de programas y pulse OK. El depurador se estudiar en detalle ms adelante en este mdulo.
Introduccin a C#
18
Explicacin previa
Llamadas al compilador Ejecucin de la aplicacin Demostracin: Compilacin y ejecucin de un programa C# Depuracin Demostracin: Uso del depurador de Visual Studio Las herramientas del SDK Demostracin: Uso del ILDASM
En esta leccin aprender a compilar y depurar programas C#. Ver cmo se ejecuta el compilador desde la lnea de comandos y desde el entorno Visual Studio. Aprender algunas opciones comunes de compilador y conocer el Visual Studio Debugger. Finalmente, aprender a utilizar algunas de las otras herramientas del kit de desarrollo de software (SDK) de Microsoft .NET Framework..
Introduccin a C#
19
Llamadas al compilador
Objetivo del tema
Explicar cmo compilar una aplicacin C# y las diferentes opciones de compilador disponibles.
Explicacin previa
Conmutadores comunes del compilador Compilacin desde la lnea de comandos Compilacin desde Visual Studio Localizacin de errores
Antes de ejecutar una aplicacin C# es necesario compilarla. El compilador convierte el cdigo fuente escrito por usted en cdigo mquina que puede entender el sistema. Se pueden hacer llamadas al compilador de C# desde la lnea de comandos o desde Visual Studio. Nota Estrictamente hablando, las aplicaciones C# se compilan a lenguaje intermedio de Microsoft (MSIL) y no al cdigo mquina nativo. El cdigo MSIL se compila a su vez a cdigo mquina con el compilador Just-in-Time (JIT) cuando se ejecuta la aplicacin. No obstante, tambin es posible compilar directamente a cdigo mquina y evitar el compilador JIT empleando la utilidad Native Image Generator (Ngen.exe), que crea una imagen nativa a partir de un ensamblado administrado y la instala en la cach de imagen nativa del sistema local. La ejecucin de Ngen.exe sobre un ensamblado hace que ste se cargue ms rpido, ya que restaura cdigo y estructuras de datos desde la cach de imagen nativa en lugar de generarlas de forma dinmica.
Introduccin a C# (contina) Conmutador /warn /warnaserror /target /checked /doc /debug Significado Fija el nivel de aviso del compilador.
20
Trata todos los avisos como errores que interrumpen la compilacin. Especifica el tipo de aplicacin generada. Indica si un desbordamiento aritmtico genera una excepcin en tiempo de ejecucin. Procesa comentarios de documentacin para crear un archivo XML. Genera informacin sobre la depuracin.
Importante El archivo de salida que contiene el cdigo compilado debe incluir el sufijo .exe. Si se omite el sufijo, es necesario cambiar el nombre del archivo antes de ejecutarlo.
Introduccin a C#
21
Localizacin de errores
El compilador de C# informar de los errores sintcticos o semnticos que detecte. Si la llamada al compilador se hizo desde la lnea de comandos, el compilador mostrar mensajes en los que indicar los nmeros de lnea y el carcter dentro de cada lnea donde se encontraran errores. Si la llamada al compilador se hizo desde Visual Studio, la ventana Task List (Lista de tareas) mostrar todas las lneas que incluyan errores. Haga doble clic sobre una lnea de esta ventana para ir al error correspondiente en la aplicacin. Consejo Es frecuente que un solo error de programacin varios errores de compilacin. Lo mejor es repasar todos los errores a partir de los que se encontraron primero, ya que corregir un error al principio del cdigo puede hacer que desaparezcan automticamente varios errores posteriores.
Introduccin a C#
22
Ejecucin de la aplicacin
Objetivo del tema
Explicar cmo se ejecuta una aplicacin compilada.
Explicacin previa
Una aplicacin C# se puede ejecutar desde la lnea de comandos o desde Visual Studio.
Ejecucin desde la lnea de comandos Escribir el nombre de la aplicacin Ejecucin desde Visual Studio Pulsar Start Without Debugging en el men Debug
Una aplicacin C# se puede ejecutar desde la lnea de comandos o desde el entorno Visual Studio.
Introduccin a C#
23
Depuracin
Objetivo del tema
Explicar el uso de Visual Studio para depurar una aplicacin.
Explicacin previa
Visual Studio contiene muchas herramientas prcticas que le permitirn depurar y corregir aplicaciones.
Excepciones y depuracin JIT El Visual Studio Debugger Configuracin de puntos de interrupcin e inspecciones Seguimiento del cdigo paso a paso Examen y modificacin de variables
Abra Visual Studio y muestre a los estudiantes las opciones de men y las barras de herramientas durante la discusin. Despus de este tema encontrar una demostracin ms completa.
Introduccin a C#
24
La ventana Watch (Inspeccin) resulta til para supervisar los valores de variables seleccionadas mientras se ejecuta la aplicacin. Si escribe el nombre de una variable en la columna Name (Nombre), su valor aparecer en la columna Value (Valor), por lo que podr ver todos los cambios que se produzcan durante la ejecucin. Tambin es posible sobrescribir el valor de una variable inspeccionada para modificarla. Importante Antes de utilizar el depurador, asegrese de que la configuracin de la solucin es Debug y no Release.
Introduccin a C#
25
Introduccin a C#
26
4. Seleccione Step Over (Salto) en el men Debug o pulse F10 para ejecutar el programa lnea por lnea a partir del punto de interrupcin. En esto consiste el avance paso a paso. Se ejecuta la siguiente lnea de cdigo y el programa se detiene, lo que permite ver en la ventana Watch los cambios sufridos por las variables. Por ejemplo, el valor de degreesFahrenheit es ahora 75. Al saltar a la siguiente lnea, la variable degreesCelsius cambia cuando se calcula un valor de 23.0. sta es la lnea que contiene el error. El problema es que se realiza un clculo entero sobre un dato entero antes de asignarlo a una variable de punto flotante. As se acumulan errores de redondeo y se obtiene un resultado incorrecto. 5. Pulse F5 para finalizar la ejecucin del programa. Cmo corregir el error en el programa C# y comprobar el resultado 1. Cambie una constante a un valor de punto flotante cambiando 32 a 32F, lo que obliga al compilador a efectuar un clculo de punto flotante. 2. Vuelva a compilar y ejecutar el programa. 3. Seleccione Step Over en el men Debug para ver los resultados del cambio. Ver que ahora la variable degreesCelsius tiene un valor de 23.8889 en la ventana Watch. 4. Pulse F10 para continuar ejecutando el programa paso a paso. 5. Seleccione Continue en el men Debug para que el programa se ejecute hasta el final.