Tipos de datos, variables y operadores en Visual C# (C Sharp) Actualizado - Programación en Microsoft Visual Studio .Net

Novedades

martes, 27 de julio de 2021

Tipos de datos, variables y operadores en Visual C# (C Sharp) Actualizado

Tipos de datos en Visual C#

Los tipos de datos que utiliza C# son clasificados en cuatro grupos.


Tipos primitivos

Variables y Constantes

Enumeraciones

Arrays(Matrices) 

tipos-de-datos-variables-y.operadores-en-visual-csharp


Los tipos en C# se clasifican en tipos: 
Valor y Referencia. Una variable de tipo valor almacena directamente un valor (dato en general) mientras que una variable de un tipo referencia lo que permite almacenar es una referencia a un objeto (posición de memoria donde está el objeto)


Por valor y por referencia


Los tipos por valor difieren de los tipos por referencia en que las variables de los tipos por valor contienen directamente su valor, mientras que las variables de los tipos por referencia almacenan referencias a objetos. 

Con los tipos por referencia, es posible que dos variables se refieran al mismo objeto, y por tanto es posible que las operaciones sobre una variable afecten al objeto al que hace referencia otra variable.

Con los tipos por valor, cada variable tiene su propia copia de los datos, y las operaciones sobre una no afectará a la otra. 


Tipos primitivos equivalencias


Tipo C#

Nombre para la plataforma Mono/.NET

Con signo?

Bytes utilizados

Rango

bool

System.Boolean

No

1

verdadero o falso

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

Tipo C#

Nombre para la plataforma Mono/.NET

Con signo?

Bytes utilizados

Rango

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)


Tipos de enteros


Los tipos que sirven para almacenar números enteros son: byte, sbyte. short, ushort, int, uint, long y ulong. Probablemente el tipo más utilizado es el int, pués se utiliza para controlar matrices, inidizar arreglos además de las operaciones normales con enteros.


Ejemplo

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);   

}

}
        

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 dos clases de tipos de punto flotante, float y double. De los dos, el más usado es double, pues es el valor que devuelven la mayoría de las funciones matemáticas de la librería base.


Ejemplo

using System; class Flotante{   

public static void Main()   

{       

int a = 2;       

double log2 = Math.Log(2);       

double raiz2 = Math.Sqrt(2);        

Console.WriteLine("El logaritmo de dos es {0}", log2 );       

Console.WriteLine("La raiz de dos es {0}", raiz2 );  

 }

}  
     

Salida:

El logaritmo de dos es 0.693147180559945

La raizde dos es 1.4142135623731

 

Variables y Constantes en Visual C# 

En Visual C# toda variable declarada debe ser precedido un tipo de dato especifico. Un tipo de dato define todo el posible rango de valores que una variable puede tomar al momento de ejecución del programa.

Para declarar una variable dentro de un procedimiento se realiza anteponiendo el tipo de dato antes del nombre de la variable.

 

Ejemplos:

Int a = 56;

char texto = ‘mi cadena’;

string nombre = “José”;

 

Declaración de Constantes


Dentro de una aplicación, puede ser adecuado e interesante la declaración y uso de valores constantes cuyo valor asignado, no sea modificable a lo largo de la aplicación y que se utilice para un caso o ejecución determinada.

 

Ejemplo:

const double PI = 3.1416;

const char character = ‘A’ 


 

Ámbito de las variables


Los tres tipos e ámbitos disponibles son:


A nivel de bloque: Sólo el código del bloque tendrá la posibilidad de trabajar con la variable (por ejemplo, un bucle for next)


A nivel de función: Sólo el código de la función donde se declara la variable podrá modificar su contenido, se llama normalmente variable local.


A nivel de clase: Una variable declarada en el interior de una clase es accesible al código de esta clase sin restricción y eventualmente a partir de otras porciones de código en función del nivel de acceso de la variable.



Niveles de acceso a variables


public: Los elementos declarados serán accesibles desde cualquier porción de código del proyecto y desde cualquier otro proyecto que haga referencia a aquel donde están declarados. No se pueden utilizar dentro en el interior de las funciones. 


protected: Se puede utilizar en el interior de una clase. Permite restringir el acceso a la variable únicamente al código de la clase y todas las clases que hereden de ella. 


internal: Serán accesibles desde el ensamblado en el cual están declarados y tampoco se pueden utilizar en el interior de una función. 


protected internal: Es el nivel de acceso de protected e internal.


private: restringe el acceso a la variable al módulo, a la clase o a la estructura en la cual está declarada. No se puede utilizar en el interior de un procedimiento o función.


Si no se indica nada a la variable se considerará como private. 



Operadores en Visual C#


Prioridad de operador en Visual C#

Cuando aparecen varias operaciones en una expresión, cada parte se evalúa y se resuelve en un orden predeterminado conocido como prioridad de operador.


Reglas de prioridad

Cuando las expresiones contienen operadores de más de una categoría, dichos operadores se evalúan de acuerdo con las siguientes reglas:

  1. Los operadores aritméticos y de concatenación tienen el orden de prioridad que se describe en la siguiente sección y tienen prioridad sobre los operadores lógicos, de comparación y bit a bit.
  2. Todos los operadores de comparación tienen la misma prioridad; todos ellos tienen mayor prioridad que los operadores lógicos y los operadores bit a bit, pero menor prioridad que los operadores de concatenación y los operadores aritméticos.
  3. Los operadores lógicos y bit a bit tienen el orden de prioridad que se describe en la siguiente sección y tienen menor prioridad que los operadores aritméticos, de concatenación y de comparación.
  4. Los operadores con la misma prioridad se evalúan de izquierda a derecha en el orden en que aparecen en la expresión. 


Orden de prioridad

  • Los operadores se evalúan en el siguiente orden de prioridad:
  • Operadores de concatenación y aritméticos
  • Exponenciación (^)
  • Identidad y negación unarios (+, –)
  • Multiplicación y división de punto flotante (*, /)
  • División de número entero (\)
  • Módulo aritmético (Mod)
  • Suma y resta (+, –)
  • Concatenación de cadenas (&)
  • Desplazamiento de bits aritmético (<<, >>)


Operadores de Asignación

 

Operador =

Asigna un valor a una variable o propiedad.

 

Operador ^=

Eleva el valor de una variable o una propiedad a la potencia de una expresión y asigna el resultado de nuevo a la variable o la propiedad.

 

Operador *=

Multiplica el valor de una variable o una propiedad por el valor de una expresión y asigna el resultado a la variable o la propiedad.

 

Operador /=

Divide el valor de una variable o una propiedad por el valor de una expresión y asigna el resultado de punto flotante a la variable o la propiedad.

 

\= (Operador)

Divide el valor de una variable o una propiedad por el valor de una expresión y asigna el resultado entero a la variable o la propiedad.

 

Operador +=

Suma el valor de una expresión numérica al valor de una propiedad o variable numérica y asigna el resultado a la variable o a la propiedad. También se puede utilizar para concatenar una expresión String con una propiedad o variable String y asignar el resultado a la variable o a la propiedad.

 

Operador -=

Sustrae el valor de una expresión del valor de una variable o propiedad y asigna el resultado a la variable o propiedad.

 

Operador <<=

Realiza un desplazamiento aritmético a la izquierda sobre el valor de una variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.

 

Operador >>=

Realiza un desplazamiento aritmético a la derecha sobre el valor de una variable o una propiedad y asigna el nuevo valor a la variable o la propiedad.

 

Operador &=

Concatena una expresión String a una variable o propiedad String y asigna el resultado a la variable o propiedad.


Operadores de comparación

Todos los operadores de comparación (=, <>, <, <=, >, >=, Is, IsNot, Like, TypeOf...Is)

 

Operadores lógicos y bit a bit

Negación (Not)

Conjunción (And, AndAlso)

Disyunción inclusiva (Or, OrElse)

Disyunción exclusiva (Xor) 


Editor: Pedro Villalta

Contenido: Pedro Villalta, Luis Hernández



No hay comentarios:

Publicar un comentario

Gracias por tu comentario

Páginas