Upload
javier-vera-miranda
View
229
Download
0
Embed Size (px)
Citation preview
Introducción a la Programación
7. Introducción al lenguaje de programación C#
Contenidos
7.1 Introducción. 7.2 Mi primer Programa. 7.3 Microsoft .NET Framework. 7.4 Aspectos Léxicos. 7.5 Declaración. 7.6 Tipos de Datos.
7.1 Introducción.
Introducción al lenguaje C#
Lenguaje de programación moderno, “orientado a objetos” diseñado por Anders Hejlsberg para Microsoft y la plataforma .NET.
En diciembre del 2001 se especifica el lenguaje en la ECMA.
En noviembre de 2005 aparece la versión 2.0. En noviembre de 2007 aparece la versión 3.0.
El objetivo era combinar la potencia de C++ con la sencillez de lenguajes como visual basic.
Ventajas frente a C++
Recolección de basura automática.
Eliminación del uso de punteros.
No hay que preocuparse de archivos .h, y con ello la declaración de métodos y clases.
Es más limpio, no existen funciones ni variables globales, todo pertenece a una clase.
Mitos y Realidades
¿Es propiedad de Microsoft?◦ No, Microsoft sólo lo creó. Hoy en día C# y el
Framework .NET son parte del estándar de ECMA y de ISO.
¿Es sólo para entornos Windows?◦ No. Es cierto que con Visual Studio se pueden crear
aplicaciones sólo para Windows, pero existen otras IDEs, como Mono para Linux.
Microsoft XNA Game Studio Express
Visual 3D .NET
Motores de Videojuegos
El incremento de programadores en el lenguaje C# ha hecho que la mayoría de los motores de videojuegos desarrolle un wrapper para poder programar un videojuego en C#.
7.2 Mi primer programa.
Hola Mundo en Consola
Hola Mundo en Consola
Main
Un programa tiene un conjunto de clases, pero sólo puede tener una clase que contenga al método Main.
Main es la entrada al programa; es decir, el primer código que se ejecuta
Hola Mundo en Windows Form
Hola Mundo en Windows Form
Hola Mundo en Windows Form
7.3 Microsoft .NET Framework.
Microsoft .NET Framework
El Framework de .Net es una infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican enormemente el desarrollo de aplicaciones. Mediante esta herramienta se ofrece un entorno de ejecución altamente distribuido, que permite crear aplicaciones robustas y escalables. Los principales componentes de este entorno son:
Lenguajes de compilación. Biblioteca de clases de .Net CLR (Common Language Runtime)
Microsoft .NET Framework
Common Language Runtime (CLR)
Es el entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes.
La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por .Net en un mismo código, llamado código intermedio (MSIL, Microsoft Intermediate Lenguaje).
Common Language Runtime (CLR)
El código generado en MSIL no es código máquina y por ello no puede ejecutarse directamente. Se necesita otro paso en el que una herramienta denominada compilador JIT (Just-In-Time) genera el código máquina real que se ejecuta en la plataforma que tenga la computadora.
Biblioteca de Clases
Cuando se programa una aplicación, como un videojuego por ejemplo, se necesitan realizar acciones como dibujar en pantalla, manipulación de archivos, acceso a datos, manejo del input, conocer el estado del sistema, etc.
El Framework organiza toda la funcionalidad del sistema operativo en un espacio de nombres jerárquico de forma que a la hora de programar resulta bastante sencillo encontrar lo que se necesita.
Biblioteca de Clases
Namespace SystemEspacio de nombres Utilidad de los tipos de datos que contieneSystem Tipos muy frecuentemente usados, como los los tipos básicos,
tablas, excepciones, fechas, números aleatorios, recolector de basura, entrada/salida en consola, etc.
System.Collections Colecciones de datos de uso común como pilas, colas, listas, diccionarios, etc.
System.Data Manipulación de bases de datos. Forman la denominada arquitectura ADO.NET.
System.IO Manipulación de ficheros y otros flujos de datos.System.Net Realización de comunicaciones en red.System.Reflection Acceso a los metadatos que acompañan a los módulos de
código.
System.Runtime.Remoting Acceso a objetos remotos.System.Security Acceso a la política de seguridad en que se basa el CLR.System.Threading Manipulación de hilos.System.Web.UI.WebControls Creación de interfaces de usuario basadas en ventanas para
aplicaciones Web.
System.Windows.Forms Creación de interfaces de usuario basadas en ventanas para aplicaciones estándar.
System.XML Acceso a datos en formato XML.
7.4 Aspectos Léxicos.
Identificadores
Son los nombres con los que se identifica cada uno de los componentes de un programa:◦ Clases◦ Instancias◦ Namespaces◦ Métodos◦ Variables y constantes◦ Estructuras
Identificadores: Reglas Cada identificador puede contener:1. Letras, menos la ñ ni letras acentuadas.2. Dígito numéricos.3. Guión bajo.4. Si se quiere usar una palabra clave como identificador
se debe anteponer @.
C# es case sensible.
Identificadores: Ejemplos
JugadormiBalaisCollisionanimacion_caminarenemigo1enemigo2enemigo3arrays_enemigosvidaspuntaje
PalabrasReservadas
abstract event new struct
as explicit null switch
base extern object this
bool false operator throw
break finally out true
byte fixed override try
case float params typeof
catch for private uint
char foreach protected ulong
checked goto public unchecked
class if readonly unsafe
const implicit ref ushort
continue in return using
decimal int sbyte virtual
default interface sealed volatile
delegate internal short void
do is sizeof whi le
double lock stackalloc
else long static
enum namespace string
get partial set
value where yield
Palabras clave contextuales
Comentarios Sirve para entender de mejor manera el código. Sirve para quienes posteriormente leerán el
código. Sirve para que el programador entienda de
inmediatamente códigos que ha realizado con antigüedad.
Hace más limpia la programación.
Comentarios
Los comentarios son ignorados por el compilador.
Tipos de comentarios:
De línea://Este es un comentario de una linea
De varias líneas:/* Este es un comentario demas de una linea */
7.5 Declaración.
Declaración de una clase y sus elementos
Todos los elementos en cualquier programa en C# pertenecen a una clase.
[modificadores] class <className> [: nombreClaseBase]{
[cuerpo de la clase]}
Ejemplo
Class Jugador{
private String nick;private int x, y;
public void MostrarDatos(){
Console.WriteLine(“El jugador {0} está en la posición ({1},{2})” , nombre, x, y);}
}
7.6 Tipos de Datos.
Tipos de DatosTipo de Datos Descripcion Ejemplo
object Es el tipo base de todos los tipos object obj=null;
string Secuencia de caracteres Unicode string st="Sierra";
sbyte entero con signo de 8 bit (1 byte) sbyte val=12;
short entero con signo de 16 bit short val=12;
int entero con signo de 32 bit int val=12;
long entero con signo de 64 bitlong val=12;long val2=34L;
bool tipo booleano (cierto - falso)bool opc=false;bool opc=true;
char tipo caracter, se corresponde con un Unicode char val='h';
byte entero sin signo de 8 bitbyte val=12;byte val2=12U;
ushort entero sin signo de 16 bitushort val=12;ushort val2=12U;
uint entero sin signo de 32 bituint val=12;uint val2=12U;
ulong entero sin signo de 64 bit
ulong val=12;ulongval2=12U;ulong val3=24Lulong val4=34UL
float numero en punto flotante con precision simplefloat val=12.23Ffloat val2=12.23
double numero en punto flatante con precision dobledouble val=12.23double val2=12.23D
decimal numero decima con 28 digitos significativos decimal val=1.23M
Tipos de Datos
Tipos de datos enteros
Son tipos de datos que representan SÓLO valores enteros, que pueden ser negativos o positivos.
Se puede comparar con el conjunto N o Z.
Tipos de datos: byte, short, int, long.
Ejemplos:short vidas;int porcentajeDanio;long puntaje;
Tipos de datos de punto flotante
Son tipos de datos que representan SÓLO valores con parte entera y con parte decimal.
Se puede comparar con el conjunto R.
Tipos de datos: float, double, decimal.
Ejemplos:float anguloOrientacion;double velocidad;decimal posicionX;
Tipos de datos lógicos
Son tipos de datos que representan SÓLO 2 valores: true o false.
Tipo de datos: boolean.
Ejemplos:bool continuar;bool muerto;bool pause;
Tipos de datos de carácter
Son tipos de datos que representan caracteres.
Tipo de datos: char.
Ejemplos:char letra;char marca;
Tabla ASCII
Códigos de caracteres especialesCarácter CÓDIGO DE ESCAPE
UNICODECódigo de escape especial
Comilla simple \u0027 \'
Comilla doble \u0022 \″
Carácter nulo \u0000 \0
Alarma \u0007 \a
Retroceso \u0008 \b
Salto de página \u000C \f
Nueva línea \u000A \n
Retorno de carro \u000D \r
Tabulación horizontal \u0009 \t
Tabulación vertical \u000B \v
Barra invertida \u005C \\
Preguntas ¿?