C# Introduccion

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 35

Introduccin a Microsoft

Visual C# .NET

La plataforma .Net

.NET, en esencia es una librera de clases que contienen


o encapsulan una gran cantidad de funciones que
trabajan sobre el sistema operativo, logrando una
estructura comn para todos los lenguajes que trabajen
sobre esta plataforma.

.NET Framework permite acceder a una infraestructura


dotada con lenguajes de programacin como C#, Visual
Basic .NET, C++ y JScript, y con la posibilidad de
acceder a infinidad de servicios tiles para desarrollar
cualquier tipo de aplicacin. Como consecuencia una
clase que sea programada en C#, podr ser heredada o
utilizada en cualquier lenguaje de la plataforma.

.Net Framework

La plataforma .NET de Microsoft es un componente de


software que puede ser aadido al sistema operativo
Windows.

Provee un extenso conjunto de soluciones predefinidas para


necesidades generales de la programacin de aplicaciones,
y administra la ejecucin de los programas escritos
especficamente con la plataforma.

.NET Framework se incluye en Windows Server 2008,


Windows Vista, Windows 7 y Windows 8. De igual manera,
puede ser instalada en Windows XP, y en la familia de
sistemas operativos Windows Server 2003.

Una versin "reducida" de .NET Framework est disponible


para la plataforma Windows Mobile, incluyendo telfonos
inteligentes.

Componentes .Net
Framework

El entorno comn de ejecucin para lenguajes, o CLR


que es el motor en tiempo de ejecucin del Framework.

La biblioteca de clases base o BCL.

Componentes .Net
Framework CLR

Common Language Runtime o Entorno comn de ejecucin.

El CLR es el verdadero ncleo del framework de .NET, en l


se cargan las aplicaciones desarrolladas en los distintos
lenguajes.

La herramienta de desarrollo compila el cdigo fuente de


cualquiera de los lenguajes soportados por .NET en un
cdigo intermedio, el CIL (Common Intermediate Language)
antes conocido como MSIL (Microsoft Intermediate
Language).

Para ejecutarse se necesita un segundo paso, un


compilador JIT (Just-In-Time) es el que genera el cdigo
mquina real que se ejecuta en la plataforma del cliente.
De esta forma se consigue con .NET independencia de la
plataforma de hardware.

Componentes .Net
Framework BCL

La Biblioteca de Clases Base (BCL) maneja la mayora de


las operaciones bsicas que se encuentran involucradas
en el desarrollo de aplicaciones, incluyendo entre otras:

Interaccin con los dispositivos perifricos


Manejo de datos (ADO.NET)
Administracin de memoria
Cifrado de datos
Transmisin y recepcin de datos por
distintos medios (XML, TCP/IP)
Administracin de componentes Web que
corren tanto en el servidor como en el
cliente (ASP.NET)
Manejo y administracin de excepciones
Manejo del sistema de ventanas
Herramientas de despliegue de grficos
(GDI+)
Herramientas de seguridad e integracin con
la seguridad del sistema operativo
Manejo de tipos de datos unificado

Manejo de cadenas de caracteres y


expresiones regulares
Operaciones aritmticas
Manipulacin de fechas, zonas horarias y
periodos de tiempo
Manejo de arreglos de datos y colecciones
Manipulacin de archivos de imgenes
Aleatoriedad
Generacin de cdigo
Manejo de idiomas
Auto descripcin de cdigo
Interaccin con el API Win32 o Windows
API.
Compilacin de cdigo
Interaccin con otras aplicaciones

Visual Studio .NET

Microsoft Visual Studio es un entorno de desarrollo


integrado (IDE) para sistemas operativos Windows. Soporta
mltiples lenguajes de programacin tales como C++, C#,
Visual Basic .NET, F#, Java, Phyton, Ruby, PHP; al igual que
entornos de desarrollo web como ASP.NET.

Versiones existentes del Visual Studio

Visual Studio 6.0

Visual Studio .NET 2002

Visual Studio .NET 2003

Visual Studio 2005

Visual Studio 2008

Visual Studio 2010

Visual Studio 2012/13

Visual Studio .NET


Arquitectura de desarrollo

Visual Studio .NET


Esquema de desarrollo y ejecucin

Fundamentos

C# (lase C sharp) es un lenguaje de programacin creado por


Microsoft que permite el desarrollo de aplicaciones para Internet,
para mviles y aplicaciones de propsito general.

Inicialmente se desarroll para programar en la plataforma .NET,


pero se han desarrollado otras plataformas que cumplen con dicha
estructura y por lo tanto C# puede ser utilizado como lenguaje de
programacin en ellas. Entre estas plataformas se destaca el
Proyecto MONO, desarrollado para Linux y Mac.

El primer lenguaje en importancia para el CLR es C#, mucho de lo


que soporta la Plataforma .NET est escrito en C#.

El lenguaje C# es orientado a objetos y se ha creado basndose en


la estructura de C y C++, especialmente su sintaxis y potencia, y
adoptando el estilo y metodologa de la programacin en Visual
Basic.

Caractersticas de C#

C# provee el beneficio de un ambiente elegante y unificado.

No soporta herencia mltiple, solamente el runtime .NET permite la


herencia mltiple en la forma de interfaces, las cuales no pueden
contener implementacin.

No maneja apuntadores, para emular la funcin de los apuntadores se


utiliza delegates el cual provee las bases para el .NET event model.

Por default trabaja con cdigo administrado.

La Plataforma .NET provee un colector de basura que es responsable de


administrar la memoria en los programas C#.

El manejo de errores est basado en excepciones.

Soporta los conceptos como encapsulacin, herencia y polimorfismo de


la programacin orientada a objetos.

El Modelo completo de clases est construido en la cima del .NET Virtual


Object System (VOS). El modelo de objetos es parte de la
infraestructura y ya no forma parte del lenguaje de programacin.

Caractersticas de C#

No existen funciones globales, variables o constantes. Todo deber ser


encapsulado dentro de la clase, como un miembro de la instancia (accesible
va una instancia de clase) o un miembro esttico (va el tipo).

Los mtodos que se definen en las clases son por default no virtuales (no
pueden ser sobreescritos al derivar clases)

Soporta los modificadores de acceso private, protected, public y agrega un


cuarto modificador internal.

No es posible utilizar variables no inicializadas.

No es posible hacer el cast de un entero a un tipo de referencia (objeto).

El soporte de versiones lo provee el CLR.

Permite acceder a diferentes APIs a travs de .NET Common Language


Specification, el cual define el estndar de interoperabilidad entre lenguajes
que se adhieran a este estndar.

La Plataforma .NET provee un acceso transparente a COM.

Orientacin a Objetos

C# es un lenguaje completamente orientado a objetos,


que implementa casi todo los conceptos y abstracciones
presentes en C++ y Java.

C#
implementa
conceptos
como
herencia,
encapsulacin, polimorfismo y programacin basada en
interfaces. Adems soporta las construcciones tpicas de
C++ y Java, como clases, estructuras, interfaces y
enumeraciones, as como algunas construcciones
nuevas, como los delegados.

C# no incluye una librera especfica, sino que utiliza la


librera de clases de la plataforma .NET para todas sus
necesidades,

Lo necesario para trabajar


con C#

Se necesita el entorno de trabajo conocido como .NET


Framework, el cual incluye la plataforma de desarrollo
y ejecucin de las aplicaciones .NET, actualmente la
versin 4.5.

Se sugiere nicamente un editor de texto sencillo, como


el Bloc de notas, y que se realice la compilacin
mediante la lnea de comandos.

Un entorno de desarrollo integrado (IDE) como el


Sharpdevelop, Visual Studio .NET

C# frente a Java

C# y Java son lenguajes muy similares, de sintaxis


basada en C/C++, orientados a objetos

Una de las diferencias ms importantes es que C# es


mucho ms cercano a C++ en cuanto a diseo se refiere.

No hay enumeraciones en Java y sin embargo era un


concepto muy usado en C/C++. En C# se han mantenido
las enumeraciones, y se han adaptado al nuevo
lenguaje.

Toda la estructura de los espacios de nombres es mucho


ms cercana a C++.

C# frente a C++

Puesto que C# se ejecuta en una mquina virtual, sta


se hace cargo de la gestin de memoria y por lo tanto el
uso de punteros es mucho menos importante en C# que
en C++.

C# tambin es mucho ms orientado a objetos que C++,


hasta el punto de que todos los tipos usados derivan en
ltima instancia el tipo object.

C# renuncia a la idea de herencia mltiple de clases


presente en C++. Sin embargo, referido a clases, C#
implemente propiedades del tipo de las que existen en
Visual Basic, y los mtodos de las clases son accedidos
mediante . en lugar de ::.

Estndares de codificacin en
C#

Usa notacin Pascal (el primer carcter de todas las


palabras se escribe en Maysculas y los otros caracteres
en minsculas) para el nombre de las clases y de los
mtodos.

public class HolaMundo


{

void DiHola(string nombre)


{

Estndares de codificacin en
C#

Usa notacin de Camell (el primer carcter de todas las


palabras, excepto de la primera palabra se escribe en
Maysculas y los otros caracteres en minsculas. ) para
variables y parmetros de los mtodos

int cuentaTotal = 0;
void DiHola(string nombre)
{
string mensajeCompleto = Hola + nombre;

Estndares de codificacin en
C#

No uses nombres de variables de un solo carcter como


i, n, s etc. Usa nombres como indice, temp. Una
excepcin en este caso podra ser las variables usadas
para iteraciones en los ciclos.

for ( int i = 0; i < cuantos; i++)

Estndares de codificacin en
C#

No uses guiones bajos (_) para nombres de variables


locales.

Todas las variables globales deben usar el prefijo de


guin bajo (_) de tal forma que puedan ser identificadas
de otras variables locales.

No uses palabras reservadas para nombres de variables.

Usa el prefijo Is para variables de tipo boolean o


prefijos similares.
private bool IsValido
private bool IsActivo

Estndares de codificacin en
C#

Usa el prefijo apropiado para cada elemento de la


Interfaz Grfica de manera que puedas identificarlos
para el resto de las variables.
Control

Prefijo

TextBox

txt

DataGrid

dtg

Button

btn

ListBox

lst

CheckBox

chk

RadioButton

rbt

Label

lbl

Estndares de codificacin en
C#

Usa TAB para la sangra. No uses ESPACIOS.

Los comentarios deben estar al mismo nivel de sangra


que el cdigo.

Correcto:
//Formatea un mensaje y lo despliega
string mensajeCompleto = Hola + nombre;
Incorrecto:
//Formatea un mensaje y lo despliega
string mensajeCompleto = Hola + nombre;

Estndares de codificacin en
C#

Usa #region para agrupar piezas de cdigo juntas.

Estndares de codificacin en
C#

Las rutinas que controlan los eventos (event handlers)


no deben contener el cdigo que ejecuta la accin
requerida. En vez de ello, llama a otro mtodo desde la
rutina controladora.

ButtonVentas_Click(Object sender, EventArgs e) Handles


Button1.Click
{
GetVentasPorMes();
}

Nunca incrustes en el cdigo rutas o letras de


dispositivos. Obtn la ruta de la aplicacin
programticamente y usa rutas relativas a ella.

Estndares de codificacin en
C#

Los mensajes de error deben ayudar al usuario a


resolver el problema. Nunca muestres mensajes de
error como Error en la Aplicacin, Hay un error
etc. En vez de ello da mensajes especficos como Fallo
al actualizar la base de datos, sugiere lo que el usuario
debe realizar: Fallo al actualizar la base de datos. Por
favor asegrate de que la cuenta y la contrasea sean
correctos.

Evita mtodos y propiedades pblicas, a menos que


ellas realmente necesiten ser accedidas desde afuera de
la clase.

Organiza lgicamente tus archivos dentro de carpetas


apropiadas. Usa una jerarqua de carpetas de 2 niveles.

Estndares de codificacin en
C#

Cometarios buenos y entendibles hacen el cdigo ms


mantenible.

No escribas comentarios para cada lnea de cdigo o


para cada variable declarada.

Usa // o // para comentarios. Evita usar /* */

No escribas rutinas try-catch en todos tus mtodos.


salas solo si hay una posibilidad de que una excepcin
especfica pueda ocurrir.

Nunca hagas un atrapa un error y no hagas nada. Si


escondes una excepcin, nunca sabrs si la excepcin
sucedi o no, atrapar una excepcin y no hacer nada
est permitido. En el peor de los casos debes registrar
la excepcin y continuar.

MUCHAS GRACIAS

Introduccin a C#

Prctica: Creacin de un programa C# sencillo


Objetivos
Al final de esta prctica, usted ser capaz de:
Crear un programa C#.
Compilar y ejecutar un programa C#.
Usar el Visual Studio Debugger.
Aadir tratamiento de excepciones a un programa C#.
Los archivos solucin de esta prctica se pueden encontrar en la carpeta
Solution del fichero lab02.zip

Ejercicio 1
Creacin de un programa C# sencillo
En este ejercicio utilizar Visual Studio para escribir un programa C#. El
programa le preguntar cmo se llama y luego le saludar por su nombre.
Cmo crear una nueva aplicacin C# de consola
1. Inicie Microsoft Visual Studio .NET.
2. En el men File (Archivo), seale New (Nuevo) y pulse Project (Proyecto).
3. Pulse Visual C# Projects en el cuadro Project Types (Tipos de proyecto).
4. Pulse Console Application (Aplicacin de consola) en el cuadro Templates
(Plantillas).
5. Escriba Saludos en el cuadro Name (Nombre).
6. Escriba la ubicacin deseada para el proyecto en el cuadro Location
(Ubicacin) y pulse OK.
7. Escriba un comentario adecuado para el resumen.
8. Cambie el nombre de la clase a Saludar.
9. Guarde el proyecto seleccionando Save All (Guardar todo) en el men File.
Cmo escribir instrucciones para preguntar y saludar al usuario
1. Inserte la siguiente lnea en el mtodo Main despus de los comentarios
TODO:
string miNombre;

2. Escriba una instruccin que pregunte el nombre a los usuarios.


3. Escriba otra instruccin que lea la respuesta del usuario desde el teclado y la
asigne a la cadena miNombre.
4. Aada una instruccin ms que imprima Hola, miNombre en pantalla
(donde miNombre es el nombre escrito por el usuario).
5. Una vez terminado, el mtodo Main debe contener lo siguiente:

Introduccin a C#

2
static void Main(string[ ] args)
{
string miNombre;
Console.WriteLine("Por favor, escriba su nombre");
miNombre = Console.ReadLine( );
Console.WriteLine("Hola {0}", miNombre);
}

6. Guarde el trabajo realizado.


Cmo compilar y ejecutar el programa
1. En el men Build, seleccione Build Solution (o pulse CTRL+SHIFT+B).
2. Corrija los posibles errores de compilacin y vuelva a compilar si es
necesario.
3. En el men Debug, seleccione Start Without Debugging (o pulse
CTRL+F5).
4. En la ventana de consola que se abrir, escriba su nombre cuando se lo pida
el programa y pulse INTRO.
5. Despus de ver el saludo, pulse una tecla cuando aparezca el mensaje Pulse
cualquier tecla para continuar.

Introduccin a C#

Ejercicio 2
Compilacin y ejecucin del programa C# desde la lnea de
comandos
En este ejercicio compilar y ejecutar su programa desde la lnea de
comandos.
Cmo compilar y ejecutar la aplicacin desde la lnea de comandos
1. Desde el botn de Inicio de Windows, entre en Todos los programas y luego
pulse Visual Studio .NET, seguido de Visual Studio .NET Tools y
finalmente Visual Studio .NET Command Prompt.
2. Vaya a la carpeta Saludos, donde se encuentra el proyecto del apartado
anterior.
3. Compile el programa con el siguiente comando:
4. csc /out:Saludo.exe Class1.cs
5. Ejecute el programa escribiendo:
Saludo
6. Cierre la ventana Command (Comandos).

Introduccin a C#

Ejercicio 3
Uso del depurador
En este ejercicio utilizar el Visual Studio Debugger para ejecutar su programa
paso a paso y examinar el valor de una variable.
Para configurar un punto de interrupcin e iniciar la depuracin con
Visual Studio
7. Inicie Visual Studio .NET si an no se est ejecutando.
8. En el men File, seale Open (Abrir) y pulse Project.
9. Abra el proyecto Saludos.sln en la carpeta Saludos del proyecto del apartado
anterior. Tambin se puede encontrar dentro del fichero lab02.zip.
10. Pulse en el margen derecho sobre la lnea en que aparece por primera vez
Console.WriteLine en la clase Saludar.
En el margen aparecer un punto de interrupcin (u punto grande y rojo).
11. En el men Debug, seleccione Start (o pulse F5).
Al iniciarse la ejecucin del programa, se abrir una ventana de consola y
luego el programa se detendr en el punto de interrupcin.
Cmo inspeccionar el valor de una variable
12. En el men Debug, pulse Windows, luego Watch y finalmente Watch 1.
13. En la ventana Watch, aada la variable miNombre a la lista de variables
inspeccionadas.
14. La variable miNombre aparecer en la ventana Watch con un valor de null.
Cmo ejecutar el cdigo paso a paso
1. En el men Debug, seleccione Step Over (o pulse F10) para ejecutar la
primera instruccin Console.WriteLine.
2. Pulse F10 para saltar a la siguiente lnea que contiene la instruccin
Console.ReadLine.
3. Vuelva a la ventana de consola y escriba su nombre, y a continuacin pulse
la tecla INTRO.
Regrese a Visual Studio. Su nombre ser el valor de la variable miNombre
en la ventana Watch.
4. Pulse F10 para saltar a la siguiente lnea que contiene la instruccin
Console.WriteLine.
5. Ponga en primer plano la ventana de consola.
Aparecer el saludo.
6. Regrese a Visual Studio. En el men Debug, seleccione Continue (o pulse
F5) para ejecutar el programa hasta el final.

Introduccin a C#

Ejercicio 4
Adicin de tratamiento de excepciones a un programa C#
En este ejercicio escribir un programa que utiliza tratamiento de excepciones
para capturar errores inesperados en tiempo de ejecucin. El programa pide al
usuario dos valores enteros, divide el primero por el segundo y muestra el
resultado.
Para crear un programa C# nuevo
1. Inicie Visual Studio .NET si an no se est ejecutando.
2. En el men File, seale New y pulse Project.
3. Pulse Visual C# Projects en el cuadro Project Types.
4. Pulse Console Application en el cuadro Templates.
5. Escriba Divisor en el cuadro Name.
6. Escriba la ubicacin deseada para el proyecto en el cuadro Location
(Ubicacin) y pulse OK.
7. Escriba un comentario adecuado para el resumen.
8. Cambie el nombre de la clase a Dividir.
9. Guarde el proyecto seleccionando Save All en el men File.
Cmo escribir instrucciones para pedir dos enteros al usuario
1. En el mtodo Main, escriba una instruccin que pida al usuario el primer
entero.
2. Escriba otra instruccin que lea la respuesta del usuario desde el teclado y la
asigne a una variable llamada temp de tipo string.
3. Aada la siguiente instruccin para convertir el valor de la cadena de temp
en un entero y almacenar el resultado en i:
int i = Int32.Parse(temp);

4. Aada al cdigo instrucciones para:


a. Pedir al usuario el segundo entero.
b. Leer la respuesta del usuario desde el teclado y asignarla a temp.
c. Convertir el valor de temp en un entero y almacenar el resultado en j.
El cdigo debera ser parecido al siguiente:
Console.WriteLine("Escriba el primer entero");
string temp = Console.ReadLine( );
int i = Int32.Parse(temp);
Console.WriteLine("Escriba el segundo entero");
temp = Console.ReadLine( );
int j = Int32.Parse(temp);

5. Guarde el trabajo realizado.

Introduccin a C#

Cmo dividir el primer entero por el segundo y mostrar el resultado


1. Cree una nueva variable entera k que reciba el valor resultante de dividir i
entre j, e insrtelo al final del procedimiento anterior. El cdigo debera ser
como esto:
int k = i / j;

2. Aada una instruccin para mostrar el valor de k.


3. Guarde el trabajo realizado.
Cmo probar el programa
1. En el men Debug, seleccione Start Without Debugging (o pulse
CTRL+F5).
2. Escriba 10 como valor del primer entero y pulse INTRO.
3. Escriba 5 como valor del segundo entero y pulse INTRO.
4. Compruebe que el valor de k que aparece es 2.
5. Pulse CTRL+F5 para volver a ejecutar el programa.
6. Escriba 10 como valor del primer entero y pulse INTRO.
7. Escriba 0 como valor del segundo entero y pulse INTRO.
8. El programa provoca el lanzamiento de una excepcin (divisin por cero).
9. Pulse No para que desaparezca el cuadro de dilogo de la depuracin Justin-Time.
Cmo aadir tratamiento de excepciones al programa
1. Ponga el cdigo del mtodo Main dentro de un bloque try, como se indica a
continuacin:
try
{

Console.WriteLine (...);
...
int k = i / j;
Console.WriteLine(...);
}

2. Aada a Main una instruccin catch despus del bloque try. La instruccin
catch tiene que imprimir un mensaje corto, como se ve en este cdigo:
catch(Exception e)
{
Console.WriteLine("Excepcin lanzada: {0}" , e);
}
...

3. Guarde el trabajo realizado.

Introduccin a C#

4. El mtodo Main completo ser similar al siguiente:


public static void Main(string[ ] args)
{
try {
Console.WriteLine ("Escriba el primer entero");
string temp = Console.ReadLine( );
int i = Int32.Parse(temp);
Console.WriteLine ("Escriba el segundo entero");
temp = Console.ReadLine( );
int j = Int32.Parse(temp);
int k = i / j;
Console.WriteLine("El resultado de dividir {0} por {1}
es {2}", i, j, k);
}
catch(Exception e) {
Console.WriteLine("Excepcin lanzada: {0}", e);
}
}

Cmo probar el cdigo para tratamiento de excepciones


1. Pulse CTRL+F5 para volver a ejecutar el programa.
2. Escriba 10 como valor del primer entero y pulse INTRO.
3. Escriba 0 como valor del segundo entero y pulse INTRO.
El programa sigue provocando el lanzamiento de una excepcin (divisin
por cero), pero esta vez el error es capturado y aparece su mensaje.

También podría gustarte