Curso de C#
Web Developer
Yhoan Galeano
Sintaxis C# Parte 1
A excepción de las estructuras de control, absolutamente todas las sentencias deben llevar un punto y coma al final.
Variables
Inicio
leer(dividendo)
Fin
leer(divisor)
funcion dividir(dividendo, divisor)
finfuncion
si divisor = 0 entonces
finsi
sino
escribir("El divisor no puede ser cero")
resultado<-dividendo / divisor
escribir(mensaje,r)
real resultado
residuo<-dividendo MOD divisor
escribir("El resíduo es ",r)
cadena mensaje <- "El resultado es "
Ámbito y acceso
Por clase
Por función o método
Por bloque
{Tipo Dato} {Nombre Variable} = {Valor};
Estructura
int edad = 18;
Tipos de datos
int | Entero | |
double | Decimal | |
decimal | Decimal | |
char | Caracter | |
string | Cadena | |
bool | Lógico |
int edad = 18;
double estatura = 1.70;
decimal resultado = 9.95M;
char x = 'a';
string saludo = "Hola clase";
bool EstaLLoviendo = true;
Algunos como:
entre otros...
Aritméticos | + - * / % |
Lógicos | ! && || |
Concatenación | + |
Relacional | == != < > <= >= |
Puedes operar variables con...
entre otros...
Estructuras de control
Cada estructura de control debe abrirse con "{" y cerrarse con "}"
si monedas > 0 entonces
ComprarDulces()
sino
if (monedas > 0){
ComprarDulces();
}
Pseudocódigo
C#
if
bool EsMayorDeEdad;
if (edad >= 18) {
EsMayorDeEdad = true;
}
else {
EsMayorDeEdad = false;
}
if
(Simple)
(Multiple)
string ColorSemaforo;
if (ColorSemaforo == "Rojo") {
DetenerAuto();
}
else if (ColorSemaforo == "Amarillo"){
DisminuirVelocidad();
}
else {
POnerEnMarchaAuto();
}
Condicionales
switch
switch (ColorSemaforo) {
case "Rojo":
DetenerAuto();
break;
case "Amarillo":
DisminuirVelocidad();
break;
case "Verde":
POnerEnMarchaAuto();
break;
default:
AvanzarConPrecuacion();
break;
}
for
while
//Escribe del 1 al 10
for (int i = 0; i < 10; i++) {
escribir(i);
}
//Escribe 1 al 10
int i = 0;
while (i < 10) {
escribir(i);
i++;
}
foreach
foreach (int i in vectorNumeros) {
escribir(i);
}
Ciclos
Manejo de errores
try{
/*
** Aquí va el código susceptible a errores,
** algo que pueda fallar en algún momento
*/
}
catch(Exception error){
/*
** Aquí se especifica qué hacer en caso
** de que algo falle, es un plan de contingencia.
*/
}
finally{
/*
** Aquí va la lógica que se ejecutará
** independientemente si funciona o
** falla el "try"
*/
}
Programación no tan objetual
- Goto
- Return
- Break
- Continue
Vamos al libro
Namespaces
Arreglos
Conjunto finito de elementos de un mismo tipo.
(Arrays)
Estructura
Unidimensionales
//Ambas opciones funcionan
string[] frutas = new string[3];
string[] frutas = {"Manzana", "Pera", "Coco"};
Acceso
Creación
string manzana = frutas[0];
//O si se desea cambiar algún valor en el arreglo.
frutas[0] = "Manzana Verde";
donde 0 es el índice o posición del elemento.
Multidimensionales
// Ambas opciones funcionan
string[,] alumnos= new string[2, 2];
string[,] alumnos= new string[2, 2] {{"Pedro","Perez"},
{"Sara","Lopez"} };
Acceso
Creación
string nombrePedro = alumnos[0,1];
/* O si se desea cambiar algún valor
** en el arreglo.
*/
alumnos[0,1] = "Pedro Alberto";
donde 0 es el índice de la fila y 1 es el índice de la columna.
Escalonados
int[][] arregloEscalonado= new int[3][];
Acceso
Creación
arregloEscalonado[0] = new int[5];
arregloEscalonado[1] = new int[4];
arregloEscalonado[2] = new int[2];
(Arreglos de arreglos)
ArrayList
ArrayList arregloUsuarios = new ArrayList();
Acceso
Creación
Usuario objetoRecuperado = arrUsuarios[0];
Arreglos sin longitud preestablecida
Usuario objUsuario = new Usuario();
arregloUsuarios.Add(objUsuario);
Agregar elementos
Listas
List<Gato> listaGatos = new List<Gato>();
Acceso
Creación
Gato objetoRecuperado = listaGatos[0];
Colección de objetos personalizados.
Gato objGato = new Gato();
listaGatos.Add(objGato);
Agregar elementos
Objetos
Son copias o instancias de clases.
Gato pelusa = new Gato();
Nombre de la clase
Nombre del objeto o variable
Nombre del objeto o variable
pelusa.color = "Negro";
pelusa.Maullar();
Y para acceder a sus funciones y propiedades:
public int sumar(int numero1, int numero2){
int resultado = numero1 + numero2;
return resultado;
}
Modificador de
acceso
Objeto
retorno
Nombre
método
Parámetros
de entrada
Objeto de retorno
Funciones
Modificadores de acceso
- public
- private
- static
- virtual
- override
Definen que nivel de acceso tendrá una clase, atributo y/o método.
Entre otros...
Curso de C# Parte 1
By Yhoan Andres Galeano Urrea
Curso de C# Parte 1
C#
- 671