CATEDRATICO Ing. Juan Espinoza.
PROGRAMACION.NET
DEBER
TIPOS DE DATOS EN C#
Tipo C# | Nombre पारा la plataforma .NET | Con signo? | Bytes utilizados | Valores que soporta |
---|---|---|---|---|
bool | System.Boolean | No | 1 | true o false (verdadero o falso en inglés) |
byte | System.Byte | No | 1 | 0 hasta 255 |
sbyte | System.SByte | Si | 1 | -128 hasta 127 |
short | System.Int16 | Si | 2 | -32.768 hasta 32.767 |
ushort | System.Uint16 | No | 2 | 0 hasta 65535 |
int | System.Int32 | Si | 4 | -2.147.483.648 hasta 2.147.483.647 |
uint | System.Uint32 | No | 4 | 0 hasta 4.394.967.395 |
long | System.Int64 | Si | 8 | -9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807 |
ulong | System.Uint64 | No | 8 | 0 hasta 18446744073709551615 |
float | System.Single | Si | 4 | Approximadamente ±1.5E-45 hasta ±3.4E38 con 7 cifras significativas |
double | System.Double | Si | 8 | Approximadamente ±5.0E-324 hasta ±1.7E308 con 7 cifras significativas |
decimal | System.Decimal | Si | 12 | Approximadamente ±1.0E-28 hasta ±7.9E28 con 28 ó 29 cifras significativas |
char | System.Char | 2 | Cualquier carácter Unicode (16 bits) |
Conversiones de tipos en C#
Dado que a C# se le asignan tipos estáticos
en tiempo de compilación, después de declarar una variable, no se puede volver
a declarar ni tampoco utilizar para almacenar valores de otro tipo, a menos que
dicho tipo pueda convertirse en el tipo de la variable. Por ejemplo, no existe
conversión de un entero a una cadena arbitraria cualquiera. Por lo tanto,
después de declarar i como entero, no puede
asignarle la cadena "Hello", como se muestra en el código siguiente.
int i;
i = "Hello"; // Error: "Cannot implicitly convert type 'string' to 'int'"
Sin embargo, en ocasiones puede que sea
necesario copiar un valor en un parámetro de método o variable de otro tipo.
Por ejemplo, puede que tenga una variable de tipo entero que deba pasar a un
método cuyo parámetro es de tipo double. Estos tipos de operaciones se denominan conversiones de tipos. En C#, puede realizar los siguientes
tipos de conversiones:
·
Conversiones implícitas: no se requiere una sintaxis especial porque la conversión se
realiza con seguridad de tipos y no se perderán datos. Entre los ejemplos se
incluyen las conversiones de tipos enteros de menor a mayor y las conversiones
de clases derivadas en clases base.
·
Conversiones explícitas (conversiones de tipos): las conversiones explícitas requieren un operador de conversión.
Las variables de origen y destino son compatibles, pero existe el riesgo de
perder datos debido a que el tipo de la variable de destino es más pequeño que
(o es una clase base de) la variable de origen.
·
Conversiones definidas por el usuario: las conversiones definidas por el usuario se realizan a través
de métodos especiales que puede definir para habilitar las conversiones
explícitas e implícitas entre tipos personalizados que no tienen una relación
de clase base-clase derivada. Para obtener más información, vea Operadores de
conversión (Guía de programación de C#).
·
Conversiones con clases auxiliares: para realizar conversiones entre tipos no compatibles, como los
enteros y los objetos System..::.DateTime, o bien cadenas hexadecimales y matrices de
bytes, puede utilizar la clase System..::.BitConverter, la clase System..::.Convert y los métodos Parse de
los tipos numéricos integrados, como Int32..::.Parse..

Conversiones
implícitas
En los tipos numéricos integrados, puede
realizarse una conversión implícita cuando el valor que se va a almacenar puede
ajustarse a la variable sin necesidad de truncamiento o redondeo. Por ejemplo,
una variable de tipo longlong (Referencia
de C#) (entero de 8 bytes) puede almacenar cualquier valor que pueda
almacenar a su vez un elemento intint (Referencia de
C#) (4 bytes en un equipo de 32 bits). En el ejemplo siguiente, el
compilador convierte implícitamente el valor de la derecha en un tipo long antes de asignarlo a bigNum.
// Implicit conversion. num long can
// hold any value an int can hold, and more!
int num = 2147483647;
long bigNum = num;
if-else en C#
La instrucción if selecciona una instrucción para ejecución en base al valor de una expresión Boolean. En el ejemplo siguiente un indicador Boolean flagCheck se establece en true y, a continuación, se protege en la instrucción if. El resultado es: El indicador se pone en true. bool flagCheck = true; if (flagCheck == true) { Console.WriteLine("El flag esta true."); } else { Console.WriteLine("El flag esta false."); }ComentariosSi la expresión en el paréntesis se evalúa como true, a continuación se ejecuta la instrucción Console.WriteLine("El flag esta true."); . Después de ejecutar la instrucción if, el control se transfiere a la siguiente instrucción. Else no se ejecuta en este ejemplo. Si se desea ejecutar más de una instrucción, es posible ejecutar varias instrucciones en forma condicional al incluirlas en bloques mediante { }, al igual que en el ejemplo anterior. Las instrucciones que se van a ejecutar como resultado de comprobar la condición pueden ser de cualquier tipo, incluida otra instrucción if anidada dentro de la instrucción if original. En las instrucciones if anidadas, la cláusula else pertenece a la última instrucción if que no tiene una cláusula else correspondiente. Por ejemplo: if (x > 10) if (y > 20) Console.Write("Setencia_1"); else Console.Write("Sentencia_2");En este ejemplo, se mostrará Sentencia_2 si la condición (y > 20) se evalúa como false. No obstante, si desea asociar Sentencia_2 a la condición (x >10), utilice llaves: if (x > 10) { if (y > 20) Console.Write("Sentencia_1"); } else Console.Write("Sentencia_2");En este caso, se mostrará Sentencia_2 si la condición (x > 10) se evalúa como false. Ejemplo 1 En este ejemplo, se escribe un carácter desde el teclado y el programa comprueba si se trata de un carácter alfabético. En ese caso, comprueba si es minúscula o mayúscula. En cada caso, se muestra el mensaje apropiado. // Sentencias_if_else.cs // if-else ejemplousing System; class IfTest { static void Main() { Console.Write("Entre un caracter: "); char c = (char)Console.Read(); if (Char.IsLetter(c)) { if (Char.IsLower(c)) { Console.WriteLine("El caracter esta en minuscula."); } else { Console.WriteLine("El caracter esta en mayuscula."); } } else { Console.WriteLine("No es un caracter del alfabeto."); } } }
Resultado 2Resultados del ejemplo Entre un caracter: 2 El caracter no es alfabético.A continuación se ofrece otro ejemplo: Ejecución Nº 2: Entre un caracter: A El caracter está en mayúscula. Ejecución Nº 3: Entre un caracter: h El carácter esta en minúscula. También es posible extender la instrucción if de modo que puedan controlarse varias condiciones, mediante la construcción else-if siguiente: if (Condicion_1) {// Sentencia_1;} else if (Condicion_2) {// Sentencia_2;} else if (Condicion_3) {// Sentencia_3;}else{// Sentencia_n;}Ejemplo 2Este ejemplo comprueba si el carácter especificado es una letra minúscula, mayúscula o un número. En cualquier otro caso, se tratará de un carácter no alfanumérico. El programa utiliza la anterior estructura else-if en escalera. // Sentencias_if_else2.cs // else-if using System; public class IfTest{ static void Main() { Console.Write("Entre un caracter: "); char c = (char)Console.Read(); if (Char.IsUpper(c)) { Console.WriteLine("El caracter está en mayúscula."); } else if (Char.IsLower(c)) { Console.WriteLine("El caracter está en minúscula."); } else if (Char.IsDigit(c)) { Console.WriteLine("El caracter es un numero."); } else { Console.WriteLine("El caracter no es alfanumerico."); } } }ResultadoEResultados del ejemplo Entre un caracter: E El caracter esta en mayúsculaOPERADORES LOGICOS EN C#OPERADORES ARITMÉTICOS
Binarios: los operadores binarios indican operaciones sencillas de incremento (suma o ) y decremento (resta, división y modulo), estos son los operadores binarios:+: representa la suma de dos o más valores o variables.-: representa la resta de dos o más valores o variables.*: representa la multiplicación de dos o más valores o variables./: representa la división de dos o más valores o variables.%: representa el modulo (obtención del residuo de una división) de dos o más valores o variables.Unarios: los operadores unarios representan operaciones simplificadas de incremento decremento y modificación de signos, estos son los operadores unarios:++: Incrementa el valor de una variable en una unidad.--: Decrementa el valor de una variable en una unidad.-: Cambia el signo de una variable, es como multiplicar por -1.
OPERADORES RELACIONALES
Son operadores que se encargan de unir y comparar dos o más valores, siempre se utilizan en comparaciones de parejas y están dadas por los símbolos: == : igual que != : diferente a > : mayor que < : menor que >= : mayor igual que <= : menor igual que Estos operadores se usan para comparar valores de variables por pares es decir,no se pueden comparar más de 2 valores al tiempo:
a > b > c //ERROR
(a > b) && (b > c) //BIEN
OPERADORES LÓGICOS
Son operadores de unión, también llamados compuertas lógicas, estos operadores pueden unir dos o más pares de valores comparados por medio de los operadores relaciones y están dados por estos símbolos: && : Operador AND (Y) quiere decir que todas las condiciones deben ser verdaderas para que se ejecute una acción. || : Operador OR (O) quiere decir que de todas las condiciones solo una debe ser verdadera y se asume que con eso es suficiente para hacer determinada acción. ! : Operdaro NOT (NO) quiere decir que se niega la afirmación para cambiar su valor, es decir cambia de verdadero a falso y de falso a verdadero.
No hay comentarios:
Publicar un comentario