0% encontró este documento útil (0 votos)
25 vistas35 páginas

Introducción A C#

El documento es una introducción a C# que cubre desde la creación de un nuevo proyecto de consola hasta conceptos fundamentales como variables, tipos de datos, estructuras de control y bucles. Se explican ejemplos prácticos de código, incluyendo cómo compilar un proyecto y el uso de comentarios, operadores y estructuras condicionales. Además, se abordan las operaciones matemáticas y la concatenación de textos, proporcionando una base sólida para el aprendizaje del lenguaje.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas35 páginas

Introducción A C#

El documento es una introducción a C# que cubre desde la creación de un nuevo proyecto de consola hasta conceptos fundamentales como variables, tipos de datos, estructuras de control y bucles. Se explican ejemplos prácticos de código, incluyendo cómo compilar un proyecto y el uso de comentarios, operadores y estructuras condicionales. Además, se abordan las operaciones matemáticas y la concatenación de textos, proporcionando una base sólida para el aprendizaje del lenguaje.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 35

Introducción a C#

Iniciar un nuevo proyecto de Consola 3


Aquí están las librerías 5

Aquí están los namespaces 5

Cómo Compilar un Proyecto 6

Código que utilizaremos 7

Comentarios 8

Definición de variable 9

Tipos de Datos Básicos 9

Concatenación 11

Caracteres especiales para armado de textos 12

Definición de Constante 12

Operaciones Matemáticas 14

Estructuras de Control: Condiciones 15

Definición De Operador de Comparación 15

If simple (sólo acciones para verdadero) 15

if – else 17

if -elseif 19

Operadores Lógicos 20

Condición múltiple 22

Estructuras de Control: Repeticiones 28

Bucle For 28

Bucle while 29

Bucle do - while 31

Conversiones básicas entre tipos de datos 32


Iniciar un nuevo proyecto de Consola
En este primer ejemplo aplicaremos los conceptos aprendidos anteriormente realizando el
clásico ejemplo "Hola Mundo". Siendo nuestro primer ejemplo, debe ser sencillo y por lo
tanto se apoyará en lo que se llama “consola”, es decir, mostrando texto simple por pantalla.

1. Abrimos Visual Studio 2017

2. Seleccionamos File->New->Project

3. Nos abrirá una nueva pantalla


4. Seleccionamos la opción "ConsoleApp(.NET Framework) ".

5. Aquí escribimos el nombre del proyecto.

6. Nos muestra donde se guardará el proyecto.

7. Por defecto Visual studio le dará el mismo nombre que el campo "Name".

8. Le damos "OK" para que comience a crear el proyecto. Nos saldrá este cuadro que
mostrará el progreso de creación de proyecto.

9. En esta sección se editará el código C Sharp.

10. Aquí se muestran los archivos del programa.


Más adelante veremos los conceptos de librería, namespace, clase, función, pero
primero vamos a ver en dónde se ubican cada uno de estos elementos.

Aquí están las librerías

Aquí están los namespaces

El de nuestro proyecto tomará el nombre que le dimos al crearlo, que en este caso es
"ConsoleApp1".Dentro de las llaves irá más código.

Dentro de las llaves del namespace irá la clase que por defecto toma el nombre de
"Program"
Dentro del class irá una función y dentro de ésta se escribe el código c#.

Cómo Compilar un Proyecto


Cada vez que terminamos de escribir nuestro código tenemos que compilar. Esta operación
se repite cada vez que queremos ver el resultado de nuestro proyecto.

a. Vamos a guardar el programa File -> SaveProgram.cs

b. Vamos a compilar el programa: Build -> BuildSolution


Se nos abrirá este cuadro de diálogo en donde nos mostrará el progreso de compilación.
Está ubicado debajo de la sección de editar código.

Código que utilizaremos


Las siguientes líneas de código las utilizaremos a lo largo de los ejemplos:

Console.WriteLine("Press any key");

Imprimirá un texto en la pantalla que es siguiente: "Press any key "

Console.ReadKey();

Detendrá el programa hasta que presionemos una tecla

Console.Read();

Detendrá el programa hasta que presionemos la tecla Enter

Console.ReadLine();

Detendrá el programa hasta que presionemos la tecla Enter . Su diferencia con


respecto a “Console.Read()” está en la forma en que entrega al programador lo ingresado
por el usuario antes de la tecla Enter. A efecto de este curso, nos basta con saber que
cuando necesitemos obtener el texto ingresado por el usuario, usaremos
Console.ReadLine() y no Console.Read(). Cuando no necesitemos el texto del usuario,
utilicemos preferentemente Console.ReadKey() dado que sucesivos usos de
Console.Read() pueden dar lugar a que “saltee” uno de ellos.
Si queremos comprobarlo podemos comparar el comportamiento de estas dos porciones de
código en un proyecto de consola:

Console.WriteLine("1");

Console.ReadKey();

Console.WriteLine("2");

Console.ReadKey();

Console.WriteLine("3");

Console.ReadKey();

Console.WriteLine("1");

Console.Read();

Console.WriteLine("2");

Console.Read();

Console.WriteLine("3");

Console.Read();

Para más detalles, podemos referirnos a:

https://social.msdn.microsoft.com/Forums/en-US/5515c215-6701-4a05-ba0a-
9cd63ef206df/difference-between-readreadline-and-readkey-in-c?
forum=csharpgeneral
Comentarios

En la programación de computadoras, un comentario es una construcción del lenguaje de


programación que:

● Está destinada a insertar anotaciones legibles al programador en el código fuente de


un programa informático.

● Se arma con anotaciones potencialmente significativas para los programadores,


pero que deben ser ignoradas por los compiladores e intérpretes.

● Es añadida usualmente con el propósito de hacer el código fuente más fácil de


entender con vistas a su mantenimiento o reutilización.

● Tienen una forma de escribirla (sintaxis y reglas) que varían entre lenguajes. En C#
Los comentarios comienzan // para que valga sólo para línea actual, o con /* para que
valga hasta que se indique lo contrario con */. Los entornos de programación suelen
ayudarnos cambiando el color de las partes que han quedado "comentadas".

Escribimos dos comentarios: un de una sola línea y uno multilínea


La siguiente línea Console.ReadKey();detendrá el programa hasta que presionemos un tecla

Luego compilamos nuestro proyecto y como resultado nos mostrará consola sin ningún
texto. El programa quedará en espera hasta que presionemos una tecla, debido a la
instrucción Console.ReadKey() que le hemos incorporado:

Definición de variable
En programación, las variables son espacios reservados en la memoria que, como su
nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa.
Una variable corresponde a un área reservada en la memoria principal del ordenador.

Tipos de Datos Básicos


A las variables hay que indicarles previamente qué tipo de valor almacenará.

Los tipos de datos básicos son:


Primero crearemos una variable de tipo string llamada saludar con texto almacenado
hola mundo.

string saludar = "Hola Mundo";

Una vez agregado se ve así:

La siguiente línea Console.WriteLine(saludar); ,imprimirá el contenido de la variable


saludar

Por último agregamos estas dos líneas de código.Ya fue explicado cuál es función de cada
una.
Resultado del programa

Concatenación
La concatenación consiste en la unión de dos textos, utilizando el signo de suma +. Cuando
se guardan números enteros en una variable se utiliza un tipo de datos Int.

El texto que queremos que se imprima va entre comillas seguido del signo de
concatenación que es el + y por último la variable.

Por último, agregamos las dos últimas líneas de código, cuyo uso ya explicamos
anteriormente.
Así se vería:

Caracteres especiales para armado de textos


Si necesitáramos armar un texto de más de una línea, podemos agregar una bajada de
línea incorporando la combinación \n. Para incorporar una tabulación podemos utilizar \t.
Siempre deben estar entre comillas.

Console.WriteLine("Cartel con bajada de línea\ny ta\tbu\tla\tciones");

Console.ReadKey();

Definición de Constante
Las constantes son valores (numéricos, cadenas de texto, etc.) que no serán modificados
durante el funcionamiento de la aplicación.

1. La palabra const indica que es una constante, double es el tipo de valor que
almacenará y Pi es el nombre que le daremos en este caso.

2. En la siguiente imagen tenemos dos nuevas líneas de código. La primera


Console.WriteLine("El valor de Pi es: " + Pi);
Imprimirá el texto "El valor de Pi es: " y luego lo concatenamos con el valor de la variable
Pi.
La segunda línea Console.ReadKey(); detendrá la ejecución hasta que se presione una
tecla.

3. Así se verá el resultado en consola.

Operaciones Matemáticas
Las operaciones matemáticas utilizan los siguientes operadores:

Primero crearemos dos variables de tipo int


Se crea una variable de tipo Int para que almacene la operación matemática, llamada
suma.

Le agregamos las siguientes líneas

Así se verá el resultado:

Estructuras de Control: Condiciones


Las estructuras condicionales nos permiten ejecutar una serie de instrucciones si se cumple
una determinada condición. Es importante recordar que la condición debe dar un resultado
booleano (es decir, verdadero o falso). Tenemos varios tipos de estructuras condicionales,
que iremos desarrollando en este documento.

Definición De Operador de Comparación


Los operadores se utilizan para comparar dos valores que pueden ser numéricos, texto, etc.
If Simple

indicamos una condición al programa para que evalúe primero si es verdadera o falsa. Sólo
si ésta es verdadera se ejecutan las instrucciones que le indicamos entre las llaves. Se
suele traducir como “Si se cumple esta condición haz esto”.

Creamos un variable llamada user que almacenará el nombre de usuario:

string user = "sebastian";

Creamos un if; primero va el dato que vamos a comparar con otro. Luego va el tipo de
operador (en este caso utilizaremos el de igualdad), y por último el dato con el que va a ser
comparado:

if (user == "sebastian")

//Código Aquí

Ahora incluiremos las siguientes dos líneas:


Console.WriteLine("El usuario esta correcto");

Console.Read();

El resultado del programa es así:

If Else

Es similar al anterior, sólo que después de cerrarse la llave de if, se añade else sin indicar
ninguna condición. Esto indica que si la condición del if no es verdadera, ejecuta las
instrucciones que estarán dentro de else. Se suele traducir como “Si se cumple esta
condición haz esto y sino haz esto otro”.

Agregamos las siguientes líneas de código:

else

}
Le agregamos un mensaje de salida por consola:

Console.WriteLine("usuario no encontrado");

El resultado del programa es el siguiente:

Si cambiaramos el valor de la variable string por cualquier otra cosa que no sea
“sebastian” o “admin” el resultado sería:
If Else If

Esta estructura puede entenderse como una mezcla de los anteriores. Esto nos permite que
si no se cumple la condición podamos indicar otra condición para hacerlo aún más
específico. Se suele traducir como “Si se cumple esta condición haz esto y si no es así,
pero se cumple esta condición haz esto otro”.

Primero modificamos el nombre de la variable user por admin

String user = "admin";

Luego, creamos el elseif

elseif (user == "admin")

Agregamos la siguiente línea

Console.WriteLine("El usuario esta correcto. Hola ADMIN");


El resultado del programa es el siguiente:

Operadores Lógicos
Ej. “Si el sueldo es mayor a 60000, o si es mayor a 4000 y tiene el beneficio de trabajo
remoto”.

Los operadores lógicos nos permiten combinar más de una expresión, de modo que se
evalúe si es verdadera o falsa como un todo.

Los operadores lógicos principales son “&&” (y) y “||” (o inclusivo). El comportamiento es el
siguiente:

Operador &&

Expresión 1 Expresión 2 Resultado

Verdadero Verdadero Verdadero

Verdadero Falso Falso

Falso Verdadero Falso

Falso Falso Falso

Operador ||

Expresión 1 Expresión 2 Resultado


Verdadero Verdadero Verdadero

Verdadero Falso Verdadero

Falso Verdadero Verdadero

Falso Falso Falso

Con el operador ||, si la primera expresión es verdadera, C# no evalúa la segunda.

Se pueden combinar más de 2 expresiones. Tengamos en cuenta la asociación, donde se


evalúan primero las combinaciones && y luego las ||.

Si tenemos:

Expresión1 || Expresión2 && Expresión 3

Donde: Expresión1: Verdadero

Expresión2: Verdadero

Expresión 3: Falso

Entonces C# evalúa primero:

“Expresión2 && Expresión 3”: Verdadero y Falso = Falso y luego se evaluará Expresión1:
Verdadero y el su resultado anterior (Falso) = Verdadero.

Podemos alterar esta asociación agregando paréntesis:

( Expresión1 || Expresión2 ) && Expresión 3

Se puede comprobar con este código:

bool Expresion1 = true;

bool Expresion2 = true;

bool Expresion3 = false;

if (Expresion1 || Expresion2 && Expresion3)

Console.WriteLine("Resulta Verdadero");

} else

Console.WriteLine("Resulta Falso");

Console.WriteLine("Presione una tecla para salir");


Console.ReadKey();

Y luego agregando los paréntesis:

bool Expresion1 = true;

bool Expresion2 = true;

bool Expresion3 = false;

if ((Expresion1 || Expresion2) && Expresion3)

Console.WriteLine("Resulta Verdadero");

} else

Console.WriteLine("Resulta Falso");

Console.WriteLine("Presione una tecla para salir");

Console.ReadKey();

Condición múltiple
Switch (o también llamada Case según el lenguaje), es una estructura de control empleada
en programación. Se utiliza para agilizar la toma de decisiones múltiples; trabaja de la
misma manera que lo harían sucesivos if ,o ifelse, así como combinaciones propias de
determinados lenguajes de programación

Primero crearemos las siguientes variables que utilizaremos a lo largo del programa.

Las variables A y B almacenan los números que se utilizaran en operación matemática


elegida

int a = 6;

int b = 9;

La variable resultada tendrá una valor por defecto de 0, esta guardará el resultado de la
operación matemática

int resultado = 0;

La siguiente variable (llamada “valor”) almacenará un valor proporcionado por el usuario del
programa

string valor = "";


La variable opción almacenará la siguiente línea de código

Estas líneas de código imprimirán es texto que contienen

Console.WriteLine("1- Suma ");

Console.WriteLine("2- Resta ");

Console.WriteLine("que operacion desea hacer: ");

La variable valor almacena una línea de código que captura el número proporcionado por
usuario

valor = Console.ReadLine();

Esta última línea lo convierte en un entero y el resultado lo almacena en la variable opción

En el Switch la variable es comparada con el número de caso, en este caso hay dos y un
valor por defecto

switch (variable)

case 1:

//código Aquí

case 2:
//código Aquí

default:

//código Aquí

El primero como el segundo case del switch tendrá la variable resultado que almacenara la
operación matemática y la instrucción break sale del switch una vez que se allá llegado al
final de código

switch (opcion)

case 1:

resultado = a + b;

break;

case 2:

resultado = a - b;

break;

En la opción default si los casos anteriores para comparar son falso tomara por defecto es
opción

switch (opcion)

case 1:

resultado = a + b;

break;

case 2:

resultado = a - b;

break;

default:

Console.WriteLine("Opcion no Validad ");

break;

}
En esta línea de código imprimirá el texto y la variable resultado

Console.WriteLine("El resultado es: " + resultado);

Añadimos luego estas líneas de código, de las cuales ya vimos su función

Console.WriteLine("Press any key");

Console.Read();
Así se verá el resultado
Estructuras de Control: Repeticiones

Bucle For
Este tipo de estructura de repetición (o “bucle”) ejecuta una instrucción o un bloque de
instrucciones mientras se evalúa una expresión booleana específica como verdadera:

Primero crearemos un variable de tipo int, que no almacenará un dato por ahora.

int n;

1. En el Inicializador va la variable que creamos anteriormente con un número“de


inicio” que le demos.

2. La condición será evaluada para verificar si es verdadera (en este caso si la variable
“n” es mayor a 10). Cuando no sea menor a 10 resultará falsa, momento en que dejará de
repetir la ejecución del código que contiene entre las llaves. Los Signos que se utilizan en la
condición son(<, > ,=, >=, =< )

3. se utiliza para sumarle o restarle uno al valor que almacena la variable

n++: se suma una unidad después de la ejecución

n--: le resta una unidad después de la ejecución

for ( n=1; n < 10 ; n++)

}
En esta línea de código imprimirá la variable N

Console.WriteLine(n);

En esta otra línea de código se detendrá hasta que presiones una tecla.

Console.Read();

Bucle while
Es una estructura repetitiva que permite ejecutar una instrucción o un conjunto de
instrucciones varias veces.

Primero creamos una variable de tipo INT con un valor inicial 0.

int n = 0;

Ahora crearemos un bucle While, dentro de los paréntesis va primero la variable, y luego el
operador de comparación (que son<, > ,=, >=, =< ). En este caso utilizaremos que sea
mayor a 10.

Cuando sea N mayor a 10 se detendrá en Bucle

while (n < 10)


{

//Código Aquí

Agregamos las siguientes líneas de código dentro del bucle While.

La primera Imprimirá la variable N y la segunda le sumará 1 al número que imprimió en la


pantalla

Console.WriteLine(n);

n++;

Nos quedará así:

Por último, agregamos estas dos líneas que ya vimos:

Console.WriteLine("Press any key");

Console.Read();

El resultado del programa


Bucle do - while
A diferencia de los bucles anteriores, este tipo de bucle tiene la condición para evaluar la
repetición o la salida al final, luego de las acciones que se pueden repetir. Por esta razón, la
particularidad de este tipo de bucles es que siempre se van a ejecutar al menos una vez. Se
escriben de esta forma:

do

//acciones para repetir

} while (/*condición para repetir */);

Un ejemplo del mismo es el siguiente:

string cartel = "";

int fila = 0;

cartel = "Número \t Texto \n";

do

fila = fila + 1;

cartel = cartel + fila + "\t Fila " + fila +"\n";

} while (fila < 10);

Console.WriteLine(cartel);

Console.ReadKey();
Conversiones básicas entre tipos de datos
Existen situaciones en las que necesitamos almacenar el resultado de una operación en
una variable de un tipo de dato distinto a aquellos que estamos operando. Por ejemplo,
puede que tengamos una sumatoria entre números donde las variables de tipo int son
suficientes, pero es posible que la suma entre ambos exceda el valor máximo de una
variable int, estimando posible un tipo de dato long.

Las conversiones entre ciertos tipos de datos no requieren una sintaxis especial, porque son
sencillas y seguras. Éstas se llaman conversiones implícitas.

// Conversion implicita.

int num = 2147483647;

int otroNum = 2147483647;

long granNum = num;

granNum = granNum + otroNum;

Console.WriteLine("El numero es: " + num);

Console.WriteLine("El otro numero es: " + otroNum);

Console.WriteLine("El numero grande es: " + granNum);

Console.Read();

Veamos este otro ejemplo que parece equivalente al anterior:

int num = 2147483647;


int otroNum = 2147483647;

long granNum = num + otroNum;

Console.WriteLine("El numero es: " + num);

Console.WriteLine("El otro numero es: " + otroNum);

Console.WriteLine("El numero grande es: " + granNum);

Console.Read();

Éste es el resultado:

El problema ocurrió en esta línea:

granNum = num + otroNum;

Antes de guardar el resultado en granNum, el sistema supone que una suma de dos
variables int también será int, y en este caso la suma excede el máximo soportado. Esto se
puede solucionar fácilmente con una conversión explícita, es decir, donde el
programador indica expresamente la conversión, en este caso escribiendo (long) antes de la
expresión a convertir:

// Conversion explicita.

int exNum = 2147483647;

int exOtroNum = 2147483647;

long exGranNum = 0;

exGranNum = (long) exNum + exOtroNum;

Console.WriteLine("El numero es: " + exNum);

Console.WriteLine("El otro numero es: " + exOtroNum);

Console.WriteLine("El numero grande es: " + exGranNum);

Console.Read();

De modo que las conversiones explícitas se escriben anteponiendo el tipo de dato de


destino entre paréntesis a aquello que queremos convertir.
Si una de las variables de la suma fuera long, también hubiera funcionado sin conversión
explícita:

int exNum = 2147483647;

long exOtroNum = 2147483647;

long exGranNum = 0;

exGranNum = exNum + exOtroNum;

Console.WriteLine("El numero es: " + exNum);

Console.WriteLine("El otro numero es: " + exOtroNum);

Console.WriteLine("El numero grande es: " + exGranNum);

Console.Read();

Las conversiones implícitas de tipos de dato básicos son las siguientes:

Aquí hay una tabla de conversiones explícitas. Debemos tener en cuenta que podemos
perder información según los valores de origen y el tipo de datos de destino:
Ahora bien, en C# las conversiones que implican textos (tipos de dato String) como origen o
destino son diferentes a las demás. La forma de escribirlo aquí está más impregnada de lo
que es el paradigma de objetos, pero evitaremos adentrarnos en esos conceptos hasta más
adelante, cuando podamos abordarlo de manera integral.

Para transformar un texto en número, debemos escribir algo como:

numDeTexto = int.Parse(texto);

Donde en este caso numDeText es una variable int, y texto es una variable String.

Para la conversión inversa (de número a texto) utilizamos algo como lo siguiente:

textoDeNum = numDeTexto.ToString();

Donde textoDeNum es una variable String, y numDeTexto es una variable de tipo numérico
(int por ejemplo).

Aquí tenemos entonces un ejemplo con conversiones en ambos sentidos:

string texto = "111234";

int numDeTexto;
string textoDeNum;

numDeTexto = int.Parse(texto);

textoDeNum = numDeTexto.ToString();

Console.WriteLine("El texto es: " + texto);

Console.WriteLine("El numero convertido es: " + numDeTexto);

Console.WriteLine("El texto convertido es: " + texto);

Console.Read();

Finalmente, tengamos en cuenta que si lo que encerramos con la instrucción int.Parse no es


convertible a número, el programa terminará abruptamente con un error en tiempo de
ejecución. Podemos evitarlo con una instrucción nueva, combinada con algunos elementos
que ya vimos.

En lugar de:

numDeTexto = int.Parse(texto);

Vamos a escribir:

if (!int.TryParse(texto,out numDeTexto)) {

numDeTexto = -1;

¿Qué quiere decir todo esto?

Primero, estamos reemplazando int.Parse por int.TryParse. Las diferencias son:

● int.TryParse no genera el fin erróneo del programa si no logra transformar a número


el texto que se le envía.

● La variable para capturar el resultado de int.TryParse no lo ponemos a la izquierda


de un signo = , sino que lo agregamos luego del texto a convertir, luego de una “,out ”. El
significado de esto lo veremos algún tiempo más adelante.

● int.TryParse devuelve verdadero si logró convertir el texto, y falso si no lo logró. Por


eso le ponemos un if, con un “!” para “invertir” el valor de verdadero o falso que devuelve.
Entonces, si no logra convertir el valor, dentro del if vamos a “pisar” el valor de la variable
donde queríamos guardar el número convertido por otro número que no consideremos
válido. Por ejemplo, si queremos pedir un número y volver a pedirlo cuando no esté entre 0
y 10, podemos pisarlo con el valor -1:

int numero1;

do

Console.WriteLine("Ingrese un numero entre 0 y 10");

//intenta convertir

if (!int.TryParse(Console.ReadLine(),out numero1)){

numero1 = -1;

if (numero1 < 0 || numero1 > 10)

Console.WriteLine("Debe ser entre 0 y 10...");

} while (numero1 < 0 || numero1 > 10);

También podría gustarte