Resumen de C#
Resumen de C#
net 2003
Hola Mundo
Como es ya una practica habitual, haremos para empezar el mtico hola mundo (yo ya he perdido la cuenta de las veces que he hecho este ejemplo, pues es el primero que hacer al comenzar la empresa de aprender un nuevo lenguaje). Como vern el cdigo es muy parecido al cdigo C++ y Java. La estructura nos recuerda horriblemente a C++, y la forma de programar a Java. Copie el siguiente cdigo en un documento de texto y gurdelo con el nombre HolaMundo.cs (.cs???, si es la extensin de los ficheros c# (c-sharp ))
Para ir entrando en materia podemos distinguir tres cosas fundamentales en este cdigo:
using System;
Definicin de la clase que estamos construyendo
Que es un objeto?
Es una representacin simblica de un objeto de la vida real. Y esto que quiere decir????
Clase Silla
Mtodos: mover: Direccin ... Atributos: color:Color material: Material npatas: entero respaldo: booleano
De esta definicin de silla tan general que no se corresponde con ninguna silla en particular, sino con el concepto de silla, podemos crear diversos sillas diferentes (objetos) solo dandoles un valor particular a los atributos de la silla. Eso es un objeto. Al proceso de paso de clase a objeto se la conoce como instanciar. Este proceso se realiza en los lenguajes O.O. mediante los constructores, que ya veremos mas adelante.
Herencia
Este es otro de los propiedades curiosas de la O.O . El ser humano desde siempre ha tenidos el afn de catalogarlo dentro de categoras, en las que elementos de la misma categora comparte una serie de propiedades. De eso trata la herencia. Un Ejemplo:
De este modo, una la vaca y el hombre son animales, como animales tendrn propiedades propias de los animales, pero adems tendrn alguna diferentes, que les hacen que sean objetos diferentes. Existen el llamado herencia mltiple, en la cual un objeto puede heredar de mas de una clase. Aun que esta herencia mltiple no la incluyen muchos de los lenguajes orientados a objetos con todos es posible implementarla de forma indirecta.
Este es un claro ejemplo de herencia mltiple. El hombre hereda propiedades tanto del carnvoro como del herbvoro.
La mayoria de los tipos basicos de C# provienen de los tipos del C++, y son los siguientes
Tipo de Datos object string sbyte short int long bool char byte ushort uint
Descripcion Es el tipo base de todos los tipos Secuencia de caracteres Unicode entero con signo de 8 bit (1 byte) entero con signo de 16 bit entero con signo de 32 bit entero con signo de 64 bit tipo booleano (cierto - falso)
Ejemplo object obj=null; string st="Sierra"; sbyte val=12; short val=12; int val=12; long val=12; long val2=34L;
ulong
bool opc=false; bool opc=true; tipo caracter, se corresponde con un Unicode char val='h'; byte val=12; entero sin signo de 8 bit byte val2=12U; ushort val=12; entero sin signo de 16 bit ushort val2=12U; uint val=12; entero sin signo de 32 bit uint val2=12U; ulong val=12; ulongval2=12U; entero sin signo de 64 bit ulong val3=24L ulong val4=34UL numero en punto flotante con precision float val=12.23F simple float val2=12.23 double val=12.23 numero en punto flatante con precision double doble val2=12.23D numero decima con 28 digitos significativos decimal val=1.23M
Implcita: son conversiones directas, que se realizan siempre que los tipos puedan hacerlo.
int numero;
numero=0;
Como se puede ver para asignar un valor a un variable se utiliza el caracter = Pero no es solo esto lo que se puede hacer con las variables. Existen una serie de operadores para realizar expresiones que nos permiten operar, comparar y evaluar con dichas variables.
Categoria Primarios Unario o monarios Multiplicativos Aditivos Desplazamiento Comparacin Igualdad AND logico XOR logico OR logico AND Condicional OR condicional Condicional Asignancin
Operador Asociatividad (x) x.y f(x) a[x] x++ x-- new typeof izquierda sizeof checked unchecked + - ! ~ ++x --x (T)x izquierda */% izquierda +izquierda << >> izquierda < > <= >= is izquierda == != derecha & izquierda ^ izquierda | izquierda && izquierda || izquierda ?: derecha = *= /= %= += -= <<= >>= &= ^= | derecha =
Estructuras de Control
If / switch / while / do-while / for / foreach
La sentencia IF
Las declaraciones condicionales permiten hacer una ejecucin selectiva de las partes del programa de acuerdo con los valores de ciertas expresiones:
using System;
Class EjemploIf { public static void main() { int edad=21; if (edad>18) { Console.writeln("Eres mayor de Edad"); } else { Console.writeln("No eres mayor de Edad"); } } }
Sentencia Switch
Otra sentencia condicional es la sentencia switch, que es una sentencia condicional mltiple. En aquellos en que los opciones sobre la misma variable sean mas de dos, en vez de anidar sentencias if, es recomendable utilizar la sentencia switch.
switch (dato) { case opcion1: Sentecias ha realizar si opcion1=dato; break; case opcion2: Sentencias ha realizar si opcion2=dato; ..... break;
using System; class EjemploSW { public static void Main() { string entrada; int miInt; inicio:
Console.Write("Por favor, escriba un numero del 1 al 3: "); entrada = Console.ReadLine(); miInt = Int32.Parse(entrada); // switch con un entero switch (miInt) { case 1: Console.WriteLine("Tu break; case 2: Console.WriteLine("Tu break; case 3: Console.WriteLine("Tu break; default: Console.WriteLine("Tu 3.", miInt); } decide: Console.Write("Escribe \"continuar\" para seguir o \"salir\" para salir: "); entrada = Console.ReadLine(); // switch con un string switch (entrada) { case "continuar": goto inicio; case "salir": Console.WriteLine("Adios."); break; default: Console.WriteLine("Tu entrada {0} no es correcta.", entrada); goto decide; } } }
numero es{0}.", miInt); numero es {0}.", miInt); numero es {0}.", myInt); numero {0} no esta entre 1 y
La sentecia While
Esta sentencia permite realizar bucles. Comprueban la condicin al principio y si se cumple se ejecuta. Una vez ejecutado vuelve a comprobar la ejecucin.
} }
int myInt = 0; while (myInt < 100) { Console.Write("{0} ", myInt); myInt++; } Console.WriteLine();
La sentencia do-while
El formato general para las declaraciones do es el siguiente:
using System class ejemplo3 { static void main() { String cadena; do { cadena=console.readln(); } while (cadena!=EXIT && cadena!=exit) } }
La sentencia For
El formato general para las declaraciones for es el siguiente:
se repiten hasta que el valor de la condicin sea false. Es muy utilizada a la hora de recorrer vectores y arrays. Ejemplo: Contador hasta 100 con for
using System; class WhileLoop { public static void Main() { for (int i=0;i<100;i++) { Console.Write("{0} ", i); } Console.WriteLine();
} }
La sentencia foreach
La instruccin for es muy flexible y en la mayor parte de lenguajes de programacin es la nica disponible para recorrer estructuras de datos como tablas, listas, rboles, etctera. C# est equipado con una instruccin foreach que permite recorrer una coleccin de datos de una manera bastante simple. Su formato es el siguiente:
int[] vector = new int[5]; for (int i=0; i <= 5; i++) vector[i] = i * i; foreach (int i in vector) Console.WriteLine("{0}^2 = {1}", i, vector[i]);
Fjese en que el bucle en que se rellena la tabla es un bucle normal ya que la instruccin foreach slo permite recorrerla consultando sus elementos, no modificndolos.
Lo visto hasta ahora Using.- Permite activar libreras necesarias para nuestro programa
Algunas son: System.- es la principal. System.Data.- si queremos trabajar con datos System.Data.SqlClient.- trabajar con el servidor de bases de datos sql Server. Int, float, double, string.- tipos de datos ms usados (pendiente de ver el char) Parse.- permite convertir un tipo de dato a otro. Ejemplo: entero=float.parse(string); Uso de los controles para formularios mas comunes: Textbox, RadioButton, checkBox, Label, ListBox, ComboBox, Picture, Button, Timer, MainMenu, etc.