

C# CONSOLA EN VISUAL STUDIO 2012
QUE ES VISUAL STUDIO 2012?
Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas operativos Windows. Soporta múltiples lenguajes de programación tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby, PHP; al igual que entornos de desarrollo web como ASP.NET MVC, Django, etc., a lo cual sumarle las nuevas capacidades online bajo Windows Azure en forma del editor Monaco.
Visual Studio permite a los desarrolladores crear sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .NET (a partir de la versión .NET 2002). Así se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos, consolas, etc.
LENGUAJE C#
C# (pronunciado si sharp en inglés) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
PROGRAMA INFORMÁTICO
•Es una secuencia de instrucciones, escritas para realizar una tarea específica en una computadora. Estas instrucciones se realizan por medio de los lenguajes de programación.
VARIABLES
•La definición técnica es: espacio de memoria reservado para almacenar un dato.
•De forma mas simple una variable es la que se crea para generar un espacio dentro de la memoria donde se guardara un dato especifico.
TIPOS DE DATOS
•C# contiene veinte categorías generales de tipos de datos integrados: tipos de valor y tipos de referencia. El término tipo de valor indica que esos tipos contienen directamente sus valores.
Tipo de datos de enteros
Tipo Equivalente BCL Tamaño Rango Significado
byte System.Byte 8-bit (1-byte) 0 a 255 Entero sin signo
sbyte System.SByte 8-bit (1-byte) -128 a 127 Entero con signo
short System.Int16 16-bit (2-byte) -32.768 a 32.767 Entero corto con signo
ushort System.UInt16 16-bit (2-byte) 0 a 65.535 Entero corto sin signo
int System.Int32 32-bit (4-byte) -2.147.483.648 a 2.147.483.647 Entero medio con signo
uint System.UInt32 32-bit (4-byte) 0 a 4.294.967.295 Entero medio sin signo
long System.Int64 64-bit (8-byte) -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 Entero largo con signo
ulong System.UInt64 64-bit (8-byte) 0 a 18.446.744.073.709.551.615 Entero largo sin signo
Los tipos de coma flotante pueden representar números con componentes fraccionales. Existen dos clases de tipos de coma flotante: float y double. El tipo double es el más utilizado porque muchas funciones matemáticas de la biblioteca de clases de C# usan valores double. Quizá, el tipo de coma flotante más interesante de C# es decimal, dirigido al uso de cálculos monetarios. La aritmética de coma flotante normal está sujeta a una variedad de errores de redondeo cuando se aplica a valores decimales. El tipo decimal elimina estos errores y puede representar hasta 28 lugares decimales.
Tipo de datos de coma flotante
Tipo Equivalente BCL Tamaño Rango Significado
float System.Single 32-bit (4-byte) ±1.401298E−45 a ±3.402823E+38 Coma flotante corto
double System.Double 64-bit (8-byte) ±4.94065645841246E−324 a
±1.79769313486232E+308 Coma flotante largo
decimal System.Decimal 128-bit (16-byte) −7.9228162514264337593543950335 a
+7.9228162514264337593543950335 Coma flotante monetario
Los caracteres en C# no tienen un tamaño de 8 bits como en muchos otros lenguajes de programación, sino que usan un tamaño de 16 bits. Este tipo de dato se llama char y utiliza la codificación Unicode. No existen conversiones automáticas de tipo entero a char.
Tipo de datos de caracteres
Tipo Equivalente BCL Tamaño Rango Significado
char System.Char 16-bit (2-byte) '\u0000' a '\uFFFF' Carácter Unicode
string System.String 16-bit(2-byte) Secuencia de caracteres
Para los tipos de datos lógicos no existen conversiones automáticas de tipo entero a bool.
Tipo de datos lógicos
Tipo Equivalente BCL Tamaño Rango Significado
bool System.Boolean 8-bit (1-byte) true o false Verdadero o falso
C# tiene caracteres denominados secuencias de escape para facilitar la escritura con el teclado de símbolos que carecen de representación visual.
Cadenas
String “Hola Mundo\n”
Secuencias de escape
Alerta (timbre) \a
Retroceso \b
Avance de página \f
Nueva línea \n
Retorno de carro \r
Tabulador horizontal \t
Tabulador vertical \v
Nulo \0
Comilla simple \'
Comilla doble \"
Barra inversa \\
OPERADORES
Categoría Operadores
Aritméticos + - * / %
Lógicos ! && ||
A nivel de bits & | ^ ~
Concatenación +
Incremento, decremento ++ --
Desplazamiento << >>
Relacional == != < > <= >=
Asignación = ^= <<= >>=
Acceso a miembro .
Indexación [ ]
Conversión ( )
Condicional ? : ??
Creación de objeto new
Información de tipo as is sizeof typeof

Comentarios
Son líneas que no son código en las cuales podemos hacer mención sobre lo que a continuación escribiremos en el programa.
Declaración e inicialización de variables
Para guardar la información debes crear lo que son variables, hay diferentes tipos de datos que se pueden ingresar dependiendo que tipo de dato ingreses así declararas e inicializaras la variable a continuación veras unos ejemplos.

Entrada y salida de datos
Para poder ingresar y devolver la información utilizáremos las siguientes líneas de código.

El método WriteLine()
Nos sirve para escribir en consola los parámetros que nosotros le indiquemos que van entre paréntesis por ejemplo puede ser texto o variables. Este método al ejecutarse lleva la opción del puntero a la siguiente línea.
El método Write()
Nos sirve para escribir en consola los parámetros que nosotros le indiquemos que van entre paréntesis por ejemplo puede ser texto o variables. Este método al ejecutarse deja al puntero en la misma linea.
El método ReadLine()
Este método nos sirve para recoger la información que el usuario introduzca en la consola. Cuando utilizamos este método el programa queda en espera de que se escriba algún dato. Cuando asignamos este método a una variable conseguimos guardar los datos.
El método Read()
Este es otro método que permite capturar información pero solo captura una sola pulsación de tecla.
Tenemos de nuevo un ejemplo de programa, escríbelo y ejecuta!

Vemos en este ejemplo que hay una parte de código que convierte un dato que es ingresado en consola a tipo entero. int.Parse() Hace la conversión del dato ingresado en consola ya que todo dato ingresado es un string entonces por eso hay que hacer la conversión a tipo int porque se realizará un cálculo en el programa.
Estructura de decisión IF
Trabaja en base a una condición, si dicha condición se cumple ejecuta un bloque de instrucciones, sino se cumple pasa a la siguiente parte donde evalúa una condición más, sino se cumple ninguna condición terminara en el último bloque de la estructura donde ejecutara las acciones que hallamos establecido.
Vemos en este ejemplo que hay una parte de código que convierte un dato que es ingresado en consola a tipo entero. int.Parse() Hace la conversión del dato ingresado en consola ya que todo dato ingresado es un string entonces por eso hay que hacer la conversión a tipo int porque se realizará un cálculo en el programa.
Estructura de decisión IF
Trabaja en base a una condición, si dicha condición se cumple ejecuta un bloque de instrucciones, sino se cumple pasa a la siguiente parte donde evalúa una condición más, sino se cumple ninguna condición terminara en el último bloque de la estructura donde ejecutara las acciones que hallamos establecido.

En este ejemplo podemos observar que hay un bloque IF (SI) donde evalúa si un dato es menor a 10 si este se cumple mostrara en pantalla el mensaje que puedes observar, luego está el bloque ELSE IF (SINO SI) este bloque evalúa otra condición más si se cumple mostrara el mensaje en pantalla. Por ultimo está el bloque ELSE (SINO) este bloque se ejecuta sino se cumple ninguna de las condiciones que hallamos puesto en las estructuras If o Else If.
Pueden existir más condiciones, también puede existir una sola condición. Todo dependerá de que es lo que busquemos programar.
ESTRUCTURA DE SELECCIÓN SWTICH
Trabaja en base a una variable, esta variable sirve de referencia para saber que bloque de la estructura se selecciona y ejecuta.

En el ejemplo anterior vemos que en la variable que está en el swtich es la que determina que etiqueta de Caso se realizará, la variable esta con el valor de 1 entonces realizará las acciones que están en Case 1: y vemos que cada caso tiene una línea que finaliza el caso que es la instrucción de break; también podemos observar que la estructura switch contiene todos sus casos dentro de llaves, y cada case lleva sus instrucciones dentro de llaves. La ultima etiqueta default: se ejecuta cuando la variable de selección no encuentra ninguna etiqueta de case correspondiente a su valor. En este ejemplo si la variable dia fuera 8 se ejecutaría default porque no hay ningún case 8:
CICLOS
Son estructuras que ayudan a la ejecución de instrucciones cierta cantidad de veces de esta forma se ahorran líneas de código.
CICLO FOR
El ciclo for necesita una variable de iteración (repetición) en el ejemplo llamada variable control, luego de eso necesita saber cuántas veces o hasta donde debe ejecutar las instrucciones dentro del ciclo, esto lo podemos ver en la condición control<=final y por último la acción de incremento o decremento para la variable de iteración “control”. La estructura del for la podemos observar en el ejemplo y vemos que como las estructuras de decisión y selección también lleva sus instrucciones a realizar dentro de llaves.

CICLO WHILE
Podemos observar en el ejemplo la estructura. El ciclo While (Mientras) repite el bloque de instrucciones hasta que una condición deja de cumplirse, y dentro del ciclo debe exitir alguna instrucción que permita ir modificando la instrucción vemos la línea que modifica es inicio++ porque en cada repetición va aumentando el valor y llega la repetición donde va con el valor 6 y en ese momento deja de cumplirse la condición y el ciclo termina.
