You are on page 1of 29

El Lenguaje de Programacin C#

Profesor: Joan Toro Ortiz

Asignatura: DEN4501

Aprendizajes esperados

Sintaxis bsicas Palabras Claves Operadores Sentencias repetitivas y de control Clases y Objetos

Sintaxis bsicas
C# - Terminacin de lnea

C#: la lnea finaliza con un ;


//Una linea con mas de un renglon string nombre = primerNombre + apellido; //El punto y coma indica FINAL de linea

Sintaxis bsicas
C# - Declaracin de Bloques

En C# los bloques se declaran entre llaves


class MainClass{ public static void Main(string[] args) { Console.WriteLine("Hello World!"); } }

Sintaxis bsicas
C# - Comentarios C# soporta tres tipos de comentarios
string nombre = Juan; // Comentario de una sola lnea /* Comentario con mas de una lnea*/ /// <summary> /// Documentacin XML que puede ser consumida por otras /// herramientas para mostrar ayuda dinmica o generar /// documentacin en varios formatos /// </summary> public class Matematica { /// <summary> /// Calcula la suma de dos nmeros enteros /// </summary> /// <param name="x">El primer operando de la suma</param> /// <param name="y">El segundo operando de la suma</param> /// <returns> La suma entera de ambos operandos</returns> public int Sumar (int x, int y) {return x + y;} }

Sintaxis bsicas
C# - Case Sensitivity

C# distingue entre maysuclas y minsculas


system.console.writeline(HOLA); INCORRECTO System.Console.WriteLine(HOLA); CORRECTO

Palabras claves
Tipos de Datos
Categora Clase Descripcin C# Alias

Enteros

Byte
SByte Int16 Int32 Int64

Un entero sin signo (8-bit)


Un entero con signo (8-bit) Un entero con signo (16-bit) Un entero con signo (32-bit) Un entero con signo (64-bit) Un nmero de punto flotante de simple precisin (32-bit) Un nmero de punto flotante de doble precisin (64-bit) Un nmero decimal de 96-bit Un valor booleano (true o false)

byte
sbyte short int long float double decimal bool

Punto Flotante

Single Double Decimal

Lgicos

Boolean

Otros

Char
Object String

Un caracter Unicode (16-bit)


La raz de la jerarqua de objetos

char
object string

Una cadena de caracteres unicode inmutable y de tamao fijo

Palabras claves
C# - Alcance de miembros

Miembro: se refiere a los campos, propiedades, mtodos, eventos, clases anidadas, etc.

C#: todo miembro es declarado como PRIVATE por default


Modificadores de acceso disponibles:

C#
public private internal protected protected internal

Palabras claves
C# - Declaracin de Variables

int x; decimal y; rectangle z; Cliente cli;

Palabras claves
C# - Inicializacin de Variables

C#: toda variable debe ser inicializada


EXPLICITAMENTE antes de ser usada
int tempBalance; //variable local //ERROR: tempBalance NO ha sido inicializada System.Console.WriteLine(tempBalance);

Palabras claves
C# - Conversiones de Tipos

C# no permite conversiones implcitas de tipos Si falla el cast se devuelve null o InvalidCastException


Cuenta CtaCte CtaCte CtaCte cta = new CtaCte(); cc = cta; //Error: puede que cta no sea una CtaCte cc = (CtaCte)cta; //Conversion explicita CASTING cc = cta as CtaCte; //Usando el operador as

if (cta is CtaCte) ... //Comp. con el operador is

Palabras claves
C# - Arreglos

C# utiliza corchetes [ ] para definicin de arrays


string[] telefonos; //Definicion de un Arreglo de strings telefonos = new string[3]; //De 3 elementos telefonos[0] = 1245; //Seteo del 1er elemento del arreglo //Definicion y asignacion de una vez telefonos = new string[] {1,2,3};

Operadores
C# - Operadores
Descripcin Asignacin C# =

Adicin Sustraccin Multiplicacin


Divisin Negacin Mdulo (Parte entera de la divisin) Mayor Menor Mayor o Igual Menor o Igual

+ *
/ ! % > < >= <=

Operadores
C# - Operadores Lgicos
Descripcin Operador lgico Y C# &&

Operador lgico O Negacin lgica Igual


Distinto

|| ! ==
!=

En C# todas las evaluaciones se hacen por cortocircuito


//Si Hacer1() es True, entonces //NO se evalua Hacer2() if (Hacer1() || Hacer2()) { } //Si Hacer1() es False, entonces //NO se evalua Hacer2() if (Hacer1() && Hacer2()) { }

Sentencias repetitivas y de control


C# - Sentencias condicionales

C#: sentencia if con varios formatos


if (x > 10) HacerAlgo(); if (x < 10) { Hacer1(); Hacer2(); } if (x < 10) { Hacer1(); } else { Hacer2(); } if (x < 10) { Hacer1(); } else if (x > 20) { Hacer2(); } else { Hacer3(); }

Sentencias repetitivas y de control


C# - Sentencias condicionales

C#: sentencia case


int a = 0; switch(a) { case 1:{//CODIGO 1 break; } case 2: {//CODIGO 2 break; } default:{//CODIGO DEFAULT break; } }

Sentencias repetitivas y de control


C# - Sentencia for

C#: la sentencia for consta de tres partes


//Partes: declaracin, prueba, accin for (int i=1; i < 10; i++) { }

Sentencias repetitivas y de control


C# - Sentencia for/each

For/Each permite recorrer arreglos y colecciones C#: usa la palabra foreach


string[] nombres = new string[5]; foreach(string auxNombre in nombres) { //auxNombre es de SOLO LECTURA }

Sentencias repetitivas y de control


C# - Sentencia while

C#: Repite un proceso hasta que cumple una condicin C#: usa la palabra while
bool condicion = true; while (condicion == true){ //En algn momento poner condicion = false }

Clases y Objetos
C# - Clases

C#: las clases son declaradas mediante class


//Definicion de la clase CuentaBancaria class CuentaBancaria { //Definicion de miembros }

Clases y Objetos
C# - Mtodos

Mtodos: acciones que un objeto puede llevar a cabo. En C# todo mtodo es una funcin
public void HacerDeposito(int importe) //No devuelve valor { } public int ObtenerInventario(int codArticulo) //Devuelve un entero { }

Clases y Objetos
C# - Constructores

Constructor: mtodos dentro de la clase que son llamados


automticamente cuando se crea una instancia de dicha clase. En C# tienen el mismo nombre de la clase
class CtaCte { public CtaCte(){...} public CtaCte(int i){...} }

//Const. por default //Const. con un parametro

Clases y Objetos
C# - Sobrecarga de Mtodos

Sobrecarga: varios mtodos con el mismo nombre pero

diferente firma. C#: Se utiliza el mismo mtodo pero cambia el resultado


public void HacerDeposito(int importe) { }
public void HacerDeposito(int importe, bool acreditar) { }

Clases y Objetos
C# - Mtodos estticos

Miembros que no requieren de una instancia para ser


invocados. Se los llama mtodos de clase

public static void HacerDeposito(int importe) {

Clases y Objetos
C# - Propiedades

Propiedad: caracterstica o
atributo de un objeto C#: Tomar relacin con las tablas de la base de datos

class CtaCte { int balance; public int Balance { get { return balance; } set { balance = value; } } }

CtaCte cc = new CtaCte(); cc.Balance = 100; //Asignacin Mostrar(cc.Balance); //Obtencin

Clases y Objetos
C# - Herencia

En C# la herencia se define: cuando queremos las


propiedades pueden ser base para varias clases.
//Clase Base class Cuenta { } class CtaCte : Cuenta { }

//Clase Derivada

En .NET solo se permite Herencia Simple

Clases y Objetos
C# - Herencia

En C# existen tipos de clases: sealed y abstract


public sealed class Cuenta{ //No se puede heredar de esta clase sellada } public abstract class Cuenta{ //No se pueden crear instancias de esta clase, slo //de sus derivadas }

Clases y Objetos
C# - Namespaces

C#: Estos se utilizan para

cuando importan una clase como librera.

namespace BancoARG { namespace Gestion { public class CtaCte { } public class CajaAhorro { } } } //Referencia full BancoARG.Gestion.CtaCte; BancoARG.Gestion.CajaAhorro; //Referencia corta using BancoARG.Gestion; CtaCte cc = new CtaCte(); CajaAhorro ca = new CajaAhorro();

Clases y Objetos
C# - Administracin de Excepciones

Excepcin: condicin

anmala de funcionamiento de una aplicacin C#: usa las palabras try/catch/finally

try { int resultado = x/y;

} catch(DivideByZeroException e) { //Error division por cero } catch { //Otro error } finally { //Siempre pasa por aca }

You might also like