Sei sulla pagina 1di 23

||||||

2019

INGENIERÍA EN
DESARROLLO DE
SOFTWARE.
PROGRAMACIÓN .NET I
5º. SEMESTRE

DOCENTE: Elvia Sánchez Magadán.

ARLO ENRIQUE SOLIS VILLA


MATRICULA: 10530393
06/02/2019
PROGRAMACIÓN .NET I 2019

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 1


PROGRAMACIÓN .NET I 2019

Instrucciones
Los tipos de datos y operadores son importantes en la tecnología de .NET porque
constituyen las herramientas básicas para la declaración de las variables que
utilizarás en tu programa así como para implementar las diversas operaciones
aritméticas, lógicas y relacionales que te permitirán obtener un resultado y validar
condiciones para la ejecución de una determinada tarea.

El propósito de la actividad es identificar los tipos de datos y operadores


manejados por el lenguaje de programación C#, para identificar sus características
y forma de aplicación, mediante segmentos de código.

Analizarás también los mecanismos para la conversión entre los diversos tipos de
datos, su sintaxis y restricciones, para ello, espera las instrucciones de tu docente
en línea, una vez que cuentes con ellas, sigue estos pasos:

1. Identifica los tipos de datos manejados por C# y explica su definición,


rango de valores y características.

2. Identifica los operadores aritméticos, lógicos y relacionales y explica su


definición, funcionalidad y características.

3. Identifica las conversiones, explícitas e implícitas que puedes realizar.

4. Ejemplifica la aplicación de los tipos de datos en la declaración de


variables y la utilización de los operadores aritméticos, relacionales y
lógicos mediante segmentos de código, así como la relación entre las
conversiones explícitas e implícitas.

5. Organiza la información en una herramienta de tu preferencia: cuadro


comparativo, cuadro sinóptico, esquema, diagrama, etcétera.

6. Guarda la actividad en un documento con carátula y tus datos de


identificación completos con la siguiente nomenclatura

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 2


PROGRAMACIÓN .NET I 2019

DPRN1_U1_A2_XXYZ. Sustituye las XX por las dos primeras letras de tu


primer nombre, la Y por tu primer apellido y la Z por tu segundo apellido.

7. Consulta los criterios de evaluación para considerar los aspectos a evaluar


en la actividad.

8. Envía el archivo a tu Docente en línea para recibir retroalimentación,


mediante la herramienta Tarea. Espera y atiende la retroalimentación
correspondiente.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 3


PROGRAMACIÓN .NET I 2019

1. Identifica los tipos de datos manejados por C# y


explica su definición, rango de valores y
características

Tipos de datos compuestos


El concepto de clase como tipo de datos compuesto de campos, métodos y
eventos es similar en Java y C#. (La herencia de clases se describe
independientemente en el tema titulado Herencia y clases derivadas (C# y Java).)
C# introduce el concepto de estructura como tipo de datos compuesto asignado
por pila que no admite la herencia. En la mayoría de los otros aspectos, las
estructuras son muy similares a las clases. Las estructuras proporcionan una
manera ligera de agrupar campos y métodos relacionados para el uso en los
bucles de pequeñas dimensiones y otros escenarios donde el rendimiento es
crucial.
C# permite crear un método de destructor al que se llama antes de que se
destruyan las instancias de una clase. En Java, se puede utilizar un
método finalize para contener código que limpia los recursos antes de que se
recolecten los elementos no utilizados del objeto. En C#, el que realiza esta
función es el destructor de clase. El destructor se parece a un constructor sin los
argumentos y con un carácter de tilde delante (~).

Tipos de datos integrados

C# proporciona todos los tipos de datos que están disponibles en Java y agrega
compatibilidad para los números sin signo y un nuevo tipo de punto flotante de 128
bits de alta precisión.
Para cada tipo de datos primitivo en Java, la biblioteca de clases principal
proporciona una clase contenedora, que lo representa como un objeto de Java.
Por ejemplo, la clase Int32 contiene el tipo de datos int y la clase Double contiene
el tipo de datos double.
Por otro lado, todos los tipos de datos primitivos en C# son objetos en el espacio
de nombres System. Para cada tipo de datos, se proporciona un nombre corto o
alias. Por ejemplo, int es el nombre corto correspondiente
a System.Int32 y double es la forma abreviada de System.Double.
En la tabla siguiente se proporciona la lista de tipos de datos de C# y sus alias.
Como puede ver, los primeros ocho de estos tipos corresponden a los tipos
primitivos disponibles en Java. Sin embargo, tenga en cuenta que el
tipo boolean de Java se denomina bool en C#.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 4


PROGRAMACIÓN .NET I 2019

Nombre Clase
Tipo Ancho Intervalo (bits)
corto .NET
byte Byte Entero sin signo 8 0 a 255
sbyte SByte Entero con signo 8 -128 a 127
-2.147.483.648 a
int Int32 Entero con signo 32
2.147.483.647
uint UInt32 Entero sin signo 32 0 a 4294967295
short Int16 Entero con signo 16 -32.768 a 32.767
ushort UInt16 Entero sin signo 16 0 a 65535
-922337203685477508 a
long Int64 Entero con signo 64
922337203685477507
0a
ulong UInt64 Entero sin signo 64
18446744073709551615
Tipo de punto flotante -3,402823e38 a
float Single
de precisión simple
32
3,402823e38
Tipo de punto flotante -1,79769313486232e308 a
double Double
de precisión doble
64
1,79769313486232e308
Símbolos Unicode
char Char Un carácter Unicode 16
utilizados en el texto
bool Boolean Tipo Boolean lógico 8 True o false
Tipo base de todos los
object Object
otros tipos
Una secuencia de
string String
caracteres
Tipo preciso fraccionario
o integral, que puede
±1.0 × 10e−28 a
decimal Decimal representar números 128
±7.9 × 10e28
decimales con 29
dígitos significativos

C# tiene una ventaja y característica especial sobre los demás lenguajes de


programación modernos y es que cada vez que se crea un objeto de un tipo
básico, éstos son mapeados internamente a un tipo primitivo de la plataforma
.NET el cual es parte del CLS (Especificación común del lenguaje) lo cual nos
permite acceder y hacer uso de estos desde cualquier lenguaje de la plataforma
.NET. Es decir si es que creamos un objeto de tipo int (entero) en C#, ese objeto
podrá ser usado como tal dentro de J#, JScript, Visual Basic .NET y cualquier otro
lenguaje que conforme los requisitos de .NET.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 5


PROGRAMACIÓN .NET I 2019

2.- Identifica los operadores aritméticos, lógicos y


relacionales y explica su definición, funcionalidad y
características.
Un operador es un símbolo que representa una acción determinada para una
variable o valor y así como en español la coma ( , ) indica una pausa corta y el
punto ( . ) indica una pausa un poco más larga, en aritmética existen operadores
que indican la ejecución de determinado proceso, por ejemplo: 2 + 2 = 4

En este caso el operador es el signo mas ( + ) que indica que se debe hacer una
suma o un incremento de dos valores dados. Los operadores
en programación están en categorías dependiendo de su funcionalidad, los
primeros son los operadores aritméticos que a su vez se dividen en binarios y
unarios, los operadores relacionales y los operadores Lógicos.

OPERADORES ARITMÉTICOS

BINARIOS
DEFINICION FUNCIONALIDAD CARACTERISTICAS
Representa la suma de
+ dos o más valores o
variables.
Representa la resta de
Binarios: los operadores
- dos o más valores o
binarios indican
variables.
operaciones sencillas de
Representa la
incremento (suma
* multiplicación de dos o
o multiplicación ) y
más valores o variables
decremento
Representa la división de
(resta, división y modulo),
/ dos o más valores o
estos son los operadores
variables.
binarios:
Representa el modulo
(obtención del residuo de
% una división) de dos o
más valores o variables.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 6


PROGRAMACIÓN .NET I 2019

UNUARIOS
DEFINICION FUNCIONALIDAD CARACTERISTICAS
Unarios: los operadores Incrementa el valor de
unarios representan ++ una variable en una
operaciones simplificadas unidad.
de incremento Decrementa el valor de
decremento y -- una variable en una
modificación de signos, unidad.
estos son los operadores Cambia el signo de una
unarios: - variable, es como
multiplicar por -1.
EJEMPLOS
3+3=6
10 - 5 = 5
5 * 5 = 25
8/2=4
8 % 2 = 0 (cero es el residuo de la división 8/2)

c=4;
c++; //c=5 (c inicia siendo igual a 4, después del incremento [c++], c vale 5)

d=10;
d--; //d=9 se le resto 1

e = -(4) // e = -4
f = -(-6) // f = 6 (por regla de signos menos por menos igual a mas)
En conclusión los operadores unarios, simplifican el proceso de modificación de
valores ya que al escribir c++ se hace lo mismo que c=c+1.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 7


PROGRAMACIÓN .NET I 2019

OPERADORES RELACIONALES

DEFINICION FUNCIONALIDAD CARACTERISTICAS


== : igual que Estos operadores se
Son operadores que se
!= : diferente a usan para comparar
encargan de unir y
> : mayor que valores de variables por
comparar dos o más
< : menor que pares es decir,no se
valores, siempre se
>= : mayor igual que pueden comparar más de
utilizan en comparaciones
2 valores al tiempo:
de parejas y están dadas
<= : menor igual que a > b > c //ERROR
por los símbolos
(a > b) && (b > c) //BIEN

OPERADORES LÓGICOS

DEFINICION FUNCIONALIDAD CARACTERISTICAS


Operador AND (Y) quiere
decir que todas las
&& condiciones deben ser
verdaderas para que se
ejecute una acción.

Son operadores de unión, Operador OR (O) quiere


también llamados decir que de todas las
compuertas lógicas, estos condiciones solo una
|| debe ser verdadera y se
operadores pueden unir
dos o más pares de asume que con eso es
valores comparados por suficiente para hacer
medio de los operadores determinada acción.
relaciones y están dados Operdaro NOT (NO)
por estos símbolos quiere decir que se niega
la afirmación para
! cambiar su valor, es decir
cambia de verdadero a
falso y de falso a
verdadero.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 8


PROGRAMACIÓN .NET I 2019

3.- Identifica las conversiones, explícitas e implícitas que


puedes realizar

Una conversión implícita no requiere ninguna sintaxis especial en el código


fuente. En el ejemplo siguiente, Visual Basic convierte el valor de k implícitamente
en un valor de punto flotante de precisión sencilla antes de asignarlo a q.

Dim k As Integer
Dim q As Double
' Integer widens to Double, so you can do this with Option Strict
On.
k = 432
q = k

Una conversión explícita usa una palabra clave de conversión de tipos. Visual
Basic proporciona varias palabras clave de este tipo, que convierten una expresión
entre paréntesis en el tipo de datos deseado. Estas palabras clave actúan como
funciones, pero el compilador genera el código en la misma línea, de modo que la
ejecución es un poco más rápida que con una llamada de función.
En esta extensión del ejemplo anterior, la palabra clave CInt convierte el valor
de q de nuevo en un entero antes de asignarlo a k.

' q had been assigned the value 432 from k.


q = Math.Sqrt(q)
k = CInt(q)
' k now has the value 21 (rounded square root of 432).

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 9


PROGRAMACIÓN .NET I 2019

Palabras clave para conversiones


La tabla siguiente muestra las palabras clave de conversión disponibles.

Palabra Convierte una


clave de expresión en el Tipos de datos permitidos para la expresión que se
conversión siguiente tipo de va a convertir
de tipos datos
Boolean (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CBool
datos, Visual Basic) enumerados), String, Object
Byte (Tipo de datos, Cualquier tipo numérico (incluidos SByte y los tipos
CByte
Visual Basic) enumerados), Boolean, String,Object
Char (Tipo de datos,
CChar String, Object
Visual Basic)
Date (Tipo de datos,
CDate String, Object
Visual Basic)
Double (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CDbl
datos, Visual Basic) enumerados), Boolean, String,Object
Decimal (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CDec
datos, Visual Basic) enumerados), Boolean, String,Object
Integer (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CInt
datos, Visual Basic) enumerados), Boolean, String,Object
Long (Tipo de datos, Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CLng
Visual Basic) enumerados), Boolean, String,Object
Object (Tipo de
CObj Cualquier tipo
datos)
SByte (Tipo de datos, Cualquier tipo numérico (incluido Byte y los tipos
CSByte
Visual Basic) enumerados), Boolean, String, Object
Short (Tipo de datos, Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CShort
Visual Basic) enumerados), Boolean, String,Object
Single (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CSng
datos, Visual Basic) enumerados), Boolean, String,Object
String (Tipo de datos, Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CStr
Visual Basic) enumerados), Boolean, Char, matriz Char, Date, Object
Al convertir a un tipo de datos básico (incluida una matriz
de un tipo básico), se permiten los mismos tipos para la
Tipo especificado palabra clave de conversión correspondiente
CType después de la coma Al convertir a un tipo de datos compuesto, las interfaces
(,) que implementa y las clases de las que hereda
Al convertir a una clase o estructura en que ha
sobrecargado CType, esta clase o estructura
UInteger (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CUInt
datos) enumerados), Boolean, String,Object

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 10


PROGRAMACIÓN .NET I 2019

ULong (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CULng
datos, Visual Basic) enumerados), Boolean, String,Object
UShort (Tipo de Cualquier tipo numérico (incluidos Byte, SByte y los tipos
CUShort
datos, Visual Basic) enumerados), Boolean, String,Object

La función CType

CType (Función) (Visual Basic) actúa sobre dos argumentos. El primero es la


expresión que va a convertirse y el segundo es la clase de objeto o el tipo de
datos de destino. Observe que el primer argumento debe ser una expresión, no
un tipo.
CType es una función en línea, lo que significa que el código compilado realiza la
conversión, a menudo sin generar una llamada a la función. Esto mejora el
rendimiento.
Para una comparación de CType con las otras palabras clave de conversión de
tipos, vea DirectCast (Operador) (Visual Basic) y TryCast (Operador) (Visual
Basic).

Tipos básicos
El siguiente ejemplo muestra el uso de CType.

k = CType(q, Integer)
' The following statement coerces w to the specific object class
Label.
f = CType(w, Label)

Tipos compuestos
Puede utilizar CType para convertir valores en tipos de datos compuestos así
como en tipos básicos. También puede utilizarlo para convertir una clase de
objeto en el tipo de una de sus interfaces, como en el ejemplo siguiente.

' Assume class cZone implements interface iZone.


Dim h As Object
' The first argument to CType must be an expression, not a type.
Dim cZ As cZone
' The following statement coerces a cZone object to its interface
iZone.
h = CType(cZ, iZone)

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 11


PROGRAMACIÓN .NET I 2019

Tipos de matriz
CType también puede convertir tipos de datos de matrices, como en el ejemplo
siguiente.

Dim v() As classV


Dim obArray() As Object
' Assume some object array has been assigned to obArray.
' Check for run-time type compatibility.
If TypeOf obArray Is classV()
' obArray can be converted to classV.
v = CType(obArray, classV())
End If

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 12


PROGRAMACIÓN .NET I 2019

4. Ejemplifica la aplicación de los tipos de datos en la


declaración de variables y la utilización de los
operadores aritméticos, relacionales y lógicos mediante
segmentos de código, así como la relación entre las
conversiones explícitas e implícitas.

Variable
Una variable representa un valor numérico o de cadena o un objeto de una clase.
El valor que la variable almacena puede cambiar, pero el nombre sigue siendo el
mismo. Una variable es un tipo de campo. El código siguiente es un ejemplo
sencillo de cómo declarar una variable de entero, asignarle un valor y, a
continuación, asignarle un nuevo valor.

C#
int x = 1; // x holds the value 1
x = 2; // now x holds the value 2

En C#, las variables se declaran con un tipo de datos y una etiqueta concretos. Si
hasta ahora sólo ha utilizado lenguajes con tipos definidos de forma imprecisa
como JScript, estará acostumbrado a emplear el mismo tipo "var" para todas las
variables, pero en C# tiene que especificar si la variable es de
tipo int, float, byte, short u otro cualquiera entre más de 20 tipos de datos
diferentes. El tipo específica, entre otras cosas, la cantidad de memoria exacta
que se debe asignar para almacenar el valor cuando la aplicación se ejecuta. El
lenguaje C# fuerza ciertas reglas al convertir una variable de un tipo en otro. Para
obtener más información, vea Tipos de datos integrados (Visual C# Express).

C#
int answer = 42;
string greeting = "Hello, World!";
double bigNumber = 1e100;

System.Console.WriteLine("{0} {1} {2}", answer, greeting,


bigNumber);

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 13


PROGRAMACIÓN .NET I 2019

Constantes
Una constante es otro tipo de campo. Contiene un valor que se asigna cuando se
compila el programa y nunca cambia después. Las constantes se declaran con la
palabra clave const; son útiles para que el código sea más legible.

C#
const int speedLimit = 55;
const double pi = 3.14159265358979323846264338327950;

Una variable readonly es como una constante pero su valor se asigna al iniciar el
programa. Esto le permite establecer el valor basándose en alguna otra condición
que no conoce hasta que se ejecuta el programa. Pero después de esa primera
asignación, el valor no puede cambiar de nuevo mientras el programa se está
ejecutando.

Escogiendo qué tipo usar

A la hora de programar se debe decidir qué tipo de variables se va usar.


Generalmente esta decisión se basa en el tipo de información que vaya usar y en
el tamaño de la información. En el caso de que necesitáramos hacer uso de
números reales (los cuales poseen una parte entera y una parte decimal como el
número 10.22) podremos hacer uso del tipo float, double y decimal de acuerdo
con el tamaño del número que necesitemos y así cada uno de los tipos tiene su
uso y capacidad de acuerdo con la tabla A continuación explicaremos brevemente
los tipos más usados en C#:

Enteros
Los tipos que sirven para almacenar números enteros son: byte, sbyte. short,
ushort, int, uint, long y ulong. Como se aprecia en la tabla, C# define versiones con
y sin signo para tipos con los mismos bytes utilizados. Cada tipo se distingue por
la capacidad de almacenaje.

Probablemente el tipo más utilizado es el int, púes se utiliza para controlar


matrices, indizar arreglos (arrays) además de las operaciones normales con
enteros. Además, se trata de un entero de tamaño medio: más pequeño que long
y ulong, pero más grande que byte, sbyte, short y ushort.

El siguiente ejemplo muestra la declaración y uso de algunos tipos enteros


calculando el número de segundos en una hora, dia y en un año.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 14


PROGRAMACIÓN .NET I 2019

Ejemplo utilizando tipos enteros (int)

// Ejemplo - utilizando tipos enteros (int)


using System;
class Enteros{
public static void Main()
{
int minuto = 60; //segundos por minuto
int hora = minuto*60;
int dia = hora*24;
long anio = dia*365;
Console.WriteLine("Segundos en un dia: {0}", dia);
Console.WriteLine("Segundos en un año: {0}", anio);
}
}

De nuevo hemos usado el método Console.WriteLine para imprimir los resultados


por la consola. El identificador {0} dentro de la cadena de texto indica que se
sustituye {0} por el primer argumento. si hubiera más de un argumento, se seguiría
con {1}, y así sucesivamente. Por ejemplo, las dos líneas que utilizan
Console.WriteLine se pueden simplificar así:

Console.WriteLine("En un dia: {0}; en un año: {1}", dia,


anio );

Tipos de coma flotante


Los tipos de coma flotante sirven para representar a números con parte
fraccionaria. La representación por supuesto puede no ser exacta, bien por errores
de la máquina, bien porque el número de decimales que se puede alojar es finito.

Existen tres clases de tipos de punto flotante : float, double y decimal. De los dos,
el más usado es double, púes es el valor que devuelven la mayoría de las
funciones matemáticas de la librería base.

El siguiente ejemplo calcula la raíz cuadrada y el logaritmo de dos:

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 15


PROGRAMACIÓN .NET I 2019

Ejemplo utilizando tipos flotantes

// Ejemplo - utilizando tipos flotantes


using System;

class Flotante{
public static void Main()
{
int a = 2;
double log2 = Math.Log(a);
double raiz2 = Math.Sqrt(a);
Console.WriteLine("El logaritmo de dos es {0}", log2 );
Console.WriteLine("La raiz de dos es {0}", raiz2 );
}
}

y la salida será la siguiente:

El logaritmo de dos es 0.693147180559945


La raiz de dos es 1.4142135623731

si intentamos cambiar el tipo de log2 a otro de menos precisión, como float o int, el
compilador protestará. Esto se debe, como hemos dicho a que el valor devuelto
por Math.Log() es de tipo double y si se quiere convertir a float, pués se perderán
datos. Lo mismo ocurre con la mayoría de los miembros de la clase Math, como
Math.Sin(), Math.Tan(), etc.

El tipo decimal
El tipo decimal es un tipo "nuevo" en el sentido de que no tiene equivalente en
C/C++. Es muy parecido a los tipo de coma flotante float y double.

En la aritmética de los tipos de coma flotante ordinarios, se pueden producir leves


errores de redondeo. El tipo decimal elimina estos errores y puede representar
correctamente hasta 28 lugares decimales. Esta capacidad para representar
valores decimales sin errores de redondeo lo hace especialmente eficaz para
cálculos monetarios.

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 16


PROGRAMACIÓN .NET I 2019

El tipo bool
El tipo bool sirve para expresar los valores verdadero/falso, que en C# se
muestran con las palabras reservadas true y false.

En C#, por ejemplo, una instrucción de condición solo puede estar gobernada por
un valor bool, no como en C/C++, que lo puede estar también por un entero. De
esta forma se ayuda a eliminar el error tan frecuente en programadores de C/C++
cuando usa "=" en lugar de "==". En definitiva, la inclusión del tipo bool en el
lenguaje ayuda a la claridad del código y evita algunos errores muy comunes.

El siguiente ejemplo, muestra algunos usos del tipo bool:

Ejemplo utilizando tipos de decisión bool

// Ejemplo - utilizando tipos de decisión bool


using System;
class Booleano{
public static void Main()
{
bool b;
b = true;
Console.WriteLine("b es {0}", b);
if(b)
{
Console.WriteLine("esto saldrá");
}
b = false;
if(b)
{
Console.WriteLine("esto no saldrá");
}
Console.WriteLine("2==2 es {0}", 2==2);
}
}

En la última línea se muestra que el operador "==" también devuelve un valor


booleano. El resultado debería ser el siguiente:

b es True
esto saldrá
2==2 es True

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 17


PROGRAMACIÓN .NET I 2019

El tipo char
El tipo char permite almacenar un carácter en formato simple, unicode de 16 bits o
caracteres de escape. Usando el formato unicode nos garantiza que los acentos
se ven de forma adecuada y además permite la representación de otros alfabetos,
como el japonés, griego, cirílico, etc. Para introducir un carácter se utilizan
comillas simples, de forma que declarar un carácter sigue la estructura

char letra1 = 'a'; //formato simple


char letra2 = '\u0041'; //formato Unicode que representa la
letra A
char letra3 = '\n'; formato carácter de escape

Para una lista completa de caracteres unicode visitar la siguiente


página: http://unicode.coeurlumiere.com/

La siguiente lista contiene los caracteres de escape comunes y su significado:

\' apostrofe
\" Comillas
\\ Backslash
\0 Null (nulo)
\a Alerta
\b Retroceso
\f Form feed
\n Línea nueva
\r Retorno del carro
\t Tabulación Horizontal
\v Tabulación Vertical

Tipo Cadenas
Los tipos cadena (palabra clave string) son tipos que almacenan un grupo de
caracteres. En C# los tipos cadena se crean con la palabra clave string seguido
por el nombre de la variable que deseamos instanciar. Para asignar un valor a
este tipo debemos hacerlo entre comillas de la siguiente forma:

string miCadena = "Esta es una cadena de caracteres";

El tipo cadena (string) es uno de los tipos más usados en C#

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 18


PROGRAMACIÓN .NET I 2019

Convirtiendo tipos
En nuestros programas muchas veces necesitaremos cambiar de tipo a los
objetos que hayamos creado. Esto lo podremos hacer implícitamente o
explícitamente. Una conversión de tipos implícita sucede automáticamente, es
decir el compilador se hará cargo de esto. Una conversión explicita en cambio se
llevará a cabo únicamente cuando nosotros lo especifiquemos. Hay que tomar en
cuenta que no siempre podremos hacer una conversión de un tipo hacia otro.

Como regla general las conversiones implícitas se llevan a cabo cuando se desea
cambiar un tipo de menor capacidad hacia un tipo de mayor capacidad de la
misma especie. Por ejemplo si deseamos crear 2 tipos enteros (misma clase) el
uno que lleve el tipo short (menor capacidad) y el otro que lleve el tipo int (mayor
capacidad) una conversión implícita de short a int se lleva a cabo en el siguiente
ejemplo:

short corto = 3;
int entero = corto; //compilará sin ningún problema

aquí sucede una conversión implícita, el valor de la variable corto (en este caso 3)
que es de tipo short es asignado a la variable de tipo int sin que el compilador nos
de ningún problema ya que hará una conversión de short a int implícitamente por
nosotros debido a la regla anteriormente citada.

En el caso que queramos hacer de forma inversa, es decir asignar un valor int a
una variable short, estaríamos violando la regla de asignar un tipo de menor
capacidad a una variable de tipo de mayor capacidad aunque sean de la misma
clase (enteros). Asi el siguiente ejemplo no compilará dándonos un error:

int entero = 300;


short corto = entero; //nos dará un error de compilación

En estos casos es cuándo podremos hacer una conversión explícita. Debido a que
la información almacenada en la variable entero de tipo int está también en el
rango de capacidad del tipo short y los dos tipos son de la misma clase (enteros)
podremos hacer una conversión explicita designando entre paréntesis a que tipo
queremos convertir de la siguiente manera:

int entero = 300;


short corto = (short) entero; //convertirá la variable entero
para que sea del tipo short

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 19


PROGRAMACIÓN .NET I 2019

En el ejemplo anterior, el compilador no nos dará ningún problema. Cada uno de


los tipos básicos citados a continuación soportará una conversión implícita o
explícita como se lo expresa en la siguiente tabla:

Conversión Implicita (I) Conversión Explícita (E)


Desde/hacia byte sbyte short ushort int uint long ulong float double decimal
byte I E I I I I I I I I I
sbyte E I I E I E I E I I I
short E E I E I E I E I I I
ushort E E E I I I I I I I I
int E E E E I E I E I I I
uint E E E E E I I I I I I
long E E E E E E I E I I I
ulong E E E E E E E I I I I
float E E E E E E E E I I E
double E E E E E E E E E I E
decimal E E E E E E E E E E I

Arreglos
En C# se pueden construir arreglos de prácticamente cualquier tipo de dato. Los
arreglos, también llamados vectores o arrays, no son más que una sucesión de
datos del mismo tipo. Por ejemplo, el concepto matemático de vector es una
sucesión de números y por lo tanto es un arreglo unidimensional. Así, podemos
construir arreglos de objetos, de cadenas de texto, y, por supuesto, arreglos de
enteros:

using System;

class Arreglo{
public static void Main()
{
int[] arr = new int[3];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
Console.WriteLine( arr[1] );
}
}

Para crear un arreglo debemos especificar de qué tipo deseamos crear el arreglo
seguido por corchetes [ ] que es el distintivo del arreglo (en nuestro ejemplo
usamos int[]), seguido por la palabra clave new y el tipo y la cantidad de
parámetros que tendrá nuestro arreglo. En el ejemplo anterior, por ejemplo, se

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 20


PROGRAMACIÓN .NET I 2019

creó un arreglo arr unidimensional con capacidad para 3 enteros (especificado por
new int[3]), y luego se le asignó a cada parámetro un entero distinto (nótese que
se comienza a contar a partir de 0 y el número del parámetro se encuentran entre
corchetes).

Existe una forma más corta para declarar el arreglo y asignarle los valores:

int[] arr = {1,2,3}; //es exactamente lo mismo que el ejemplo


anterior

También se pueden crear arreglos bidimensionales (y de la misma forma para más


dimensiones). En ese caso la sintaxis para declarar un arreglo bidimensional de
enteros será

int[,] arr; //declaración de arreglos bidimensionales en C#

en contraposición a C/C++, en el que se declararía como

int[][] arr; //declaración de arreglos bidimensionales en C/C++

De esta forma, un arreglo bidimensional se declararía y utilizaría de la siguiente


forma:

using System;
class Arreglo2{
public static void Main()
{
int[,] arr = new int[2,2];
arr[0,0] = 1;
arr[1,0] = 2;
arr[0,1] = 3;
arr[1,1] = 4;
Console.WriteLine("El valor que posee la variable arr[1,1] es
{0}", arr[1,1] );
}
}

el resultado será:

El valor que posee la variable arr[1,1] es 4

igual que el ejemplo anterior, podemos declarar todo el arreglo de la siguiente


forma:

int[,] arr = {{1,2},{3,4}};

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 21


PROGRAMACIÓN .NET I 2019

Fuentes consultadas:

http://loscharp.blogspot.mx/2008/06/csharp.html

https://msdn.microsoft.com/es-mx/library/ms228360(v=vs.90).aspx

https://msdn.microsoft.com/es-es/library/kca3w8x6.aspx

https://msdn.microsoft.com/es-MX/library/wew5ytx4(v=vs.90).aspx

UNIVERSIDAD ABIERTA Y A DISTANCIA DE MEXICO Página 22

Potrebbero piacerti anche