Sintaxis básica
• Palabras clave: C# tiene muchas palabras clave reservadas que tienen un
significado especial. Algunas de las palabras clave más comunes son class, public,
private, static, void, int, string, if, else, for, while, return.
• Identificadores: Los identificadores son los nombres que se dan a las variables,
métodos, clases y otros elementos del programa. Los identificadores deben
comenzar con una letra o un guión bajo, y pueden contener letras, números y
guiones bajos.
• Tipos de datos: C# tiene muchos tipos de datos integrados, como int, float, double,
string, bool. También puede crear sus propios tipos de datos personalizados.
• Operadores: C# tiene muchos operadores para realizar operaciones matemáticas,
lógicas y de comparación.
• Sentencias: Las sentencias son las unidades básicas de ejecución en un programa
de C#. Las sentencias se terminan con un punto y coma (;).
• Bloques de código: Los bloques de código son grupos de sentencias que se
ejecutan como una sola unidad. Los bloques de código se delimitan con llaves ({ }).
Definición de variable
Una variable es un espacio de almacenamiento con nombre en la memoria que se
utiliza para contener datos. Cada variable tiene un tipo de datos específico que
determina el tipo de valor que puede almacenar.
Características clave de las variables en C#:
• Tipo de datos:
o C# es un lenguaje fuertemente tipado, lo que significa que cada
variable debe tener un tipo de datos definido. Esto permite al
compilador verificar la coherencia de los datos y evitar errores.
o Los tipos de datos comunes incluyen:
▪ int (enteros)
▪ float (números de punto flotante de precisión simple)
▪ double (números de punto flotante de precisión doble)
▪ string (cadenas de caracteres)
▪ bool (valores booleanos: true o false)
• Declaración:
o Antes de usar una variable, debes declararla, lo que implica
especificar su tipo de datos y su nombre.
o Sintaxis: tipoDeDatos nombreDeVariable;
o Ejemplo: int edad;
• Asignación:
o Después de declarar una variable, puedes asignarle un valor.
o Sintaxis: nombreDeVariable = valor;
o Ejemplo: edad = 30;
• Inicialización:
o Puedes declarar e inicializar una variable en una sola línea.
o Ejemplo: int edad = 30;
• Alcance:
o El alcance de una variable determina dónde se puede acceder a ella
en el código.
o Las variables pueden tener alcance local (dentro de un método) o
alcance de clase (dentro de una clase).
Operadores
En Visual C#, los operadores son símbolos que realizan operaciones sobre uno o
más operandos. Se utilizan para manipular datos, realizar cálculos y tomar
decisiones en el código.
1. Operadores aritméticos:
• + (suma): Suma dos operandos.
• - (resta): Resta el segundo operando del primero.
• * (multiplicación): Multiplica dos operandos.
• / (división): Divide el primer operando por el segundo.
• % (módulo): Devuelve el resto de la división del primer operando por el
segundo.
• ++ (incremento): Incrementa el valor de un operando en 1.
• -- (decremento): Decrementa el valor de un operando en 1.
2. Operadores de asignación:
• = (asignación): Asigna el valor del operando derecho al operando izquierdo.
• += (suma y asignación): Suma el operando derecho al operando izquierdo
y asigna el resultado al operando izquierdo.
• -= (resta y asignación): Resta el operando derecho del operando izquierdo
y asigna el resultado al operando izquierdo.
• *= (multiplicación y asignación): Multiplica el operando izquierdo por el
operando derecho y asigna el resultado al operando izquierdo.
• /= (división y asignación): Divide el operando izquierdo por el operando
derecho y asigna el resultado al operando izquierdo.
• %= (módulo y asignación): Calcula el módulo del operando izquierdo por el
operando derecho y asigna el resultado al operando izquierdo.
3. Operadores de comparación:
• == (igual a): Comprueba si dos operandos son iguales.
• != (no igual a): Comprueba si dos operandos no son iguales.
• > (mayor que): Comprueba si el primer operando es mayor que el segundo.
• < (menor que): Comprueba si el primer operando es menor que el segundo.
• >= (mayor o igual que): Comprueba si el primer operando es mayor o igual
que el segundo.
• <= (menor o igual que): Comprueba si el primer operando es menor o igual
que el segundo.
4. Operadores lógicos:
• && (AND lógico): Devuelve true si ambos operandos son true.
• || (OR lógico): Devuelve true si al menos uno de los operandos es true.
• ! (NOT lógico): Niega el valor de un operando booleano.
5. Operadores bit a bit:
• & (AND bit a bit): Realiza una operación AND bit a bit entre dos operandos.
• | (OR bit a bit): Realiza una operación OR bit a bit entre dos operandos.
• ^ (XOR bit a bit): Realiza una operación XOR bit a bit entre dos operandos.
• ~ (complemento bit a bit): Invierte los bits de un operando.
• << (desplazamiento a la izquierda): Desplaza los bits de un operando a la
izquierda.
• >> (desplazamiento a la derecha): Desplaza los bits de un operando a la
derecha.
6. Otros operadores:
• ? : (operador condicional): Devuelve uno de dos valores según una
condición.
• . (operador de acceso a miembros): Se utiliza para acceder a los miembros
de un objeto o tipo.
• [] (operador de indexación): Se utiliza para acceder a los elementos de una
matriz o indexador.
• as (operador as): Se utiliza para realizar conversiones de tipo seguras.
• is (operador is): Se utiliza para comprobar si un objeto es de un tipo
determinado.
• ?? (operador de uso combinado de null): Devuelve el operando izquierdo
si no es null; de lo contrario, devuelve el operando derecho.
Estructuras de control
las estructuras de control son herramientas fundamentales que permiten a los
programadores controlar el flujo de ejecución de un programa. Estas estructuras
determinan qué partes del código se ejecutan y en qué orden
1. Estructuras de selección:
• if:
o La instrucción if permite ejecutar un bloque de código si se cumple una
condición específica.
o También se puede utilizar con else para ejecutar un bloque de código
alternativo si la condición no se cumple.
• switch:
o La instrucción switch permite seleccionar un bloque de código para
ejecutarlo en función del valor de una expresión.
o Es útil cuando se tienen múltiples opciones a evaluar.
2. Estructuras de iteración (bucles):
• for:
o El bucle for permite ejecutar un bloque de código un número
determinado de veces.
o Se utiliza cuando se conoce el número de iteraciones.
• while:
o El bucle while permite ejecutar un bloque de código mientras se
cumpla una condición.
o Se utiliza cuando no se conoce el número de iteraciones.
• do-while:
o El bucle do-while es similar al while, pero garantiza que el bloque de
código se ejecute al menos una vez.
• foreach:
o El bucle foreach se utiliza para iterar a través de los elementos de una
colección, como matrices o listas.
3. Estructuras de salto:
• break:
o La instrucción break se utiliza para salir de un bucle o de una
instrucción switch.
• continue:
o La instrucción continue se utiliza para saltar a la siguiente iteración de
un bucle.
• return: La instruccion return finaliza la ejecucion de un metodo y devuelve un
valor.
Conversión tipos de datos
1. Conversiones implícitas:
o Estas conversiones se realizan automáticamente por el compilador
cuando no hay riesgo de pérdida de datos.
o Ocurren cuando se convierte de un tipo de dato más pequeño a uno
más grande (por ejemplo, de int a long).
2. Conversiones explícitas (Casting):
o Estas conversiones requieren que el programador especifique
explícitamente el tipo de dato al que se desea convertir.
o Se utilizan cuando existe la posibilidad de pérdida de datos o cuando
se convierte de un tipo de dato más grande a uno más pequeño (por
ejemplo, de double a int).
Métodos de conversión:
Además del casting, C# proporciona varios métodos para realizar conversiones
de tipos:
• Convert class:
o Esta clase ofrece métodos para convertir entre diferentes tipos de
datos, como Convert.ToInt32(), [Link](),
[Link](), etc.
o Es útil para conversiones más complejas o cuando se necesita
manejar excepciones en caso de errores de conversión.
• Parse and TryParse methods:
o Los métodos Parse se utilizan para convertir cadenas de caracteres a
tipos numéricos.
o Los métodos TryParse son similares a Parse, pero devuelven un valor
booleano que indica si la conversión fue exitosa, lo que permite
manejar errores de conversión de manera más segura.