En toda programación o programa informático de misma índole se manipula el concepto de las variables, en si, son contenedores los cuales contienen datos, elementos que podrán ser modificados en un momento determinado y usados en una lógica.
C# es un lenguaje fuertemente tipado, eso significa que hay que especificar que tipo de datos estamos por declarar y posteriormente asignar, por ello debemos tener en cuenta la variedad que existe y para que se utilizan, existen dos tipos con sus subcategorías, entre ellos tenemos:
Son valores más primitivos, simples y que contienen directamente sus datos, cuando se crea una variable de este tipo de dato se obtiene su propia copia de los datos y por ello no hay probabilidad que otra variable modifique el valor de otra. Se dividen en:
sbyte
, short
, int
, long
byte
, ushort
, uint
, ulong
float
, double
decimal
bool
estos se definen con dos valores verdadero true
y falso false
char
son caracteres basados en la unidad UTF-16, cada letra, numero o símbolo. Solo acepta un carácter y debe ser representado con comillas simples. Ejemplos: '%'
, '2'
o 'a'
enum Name { ... }
donde Name es el nombre que le asignaras.struct Name { ... }
?
delante del tipo de dato. Ejemplo int?
, bool?
, float?
(char, decimal)
Tienen la posibilidad de que dos variables hagan referencia al mismo objeto y que, por lo tanto, las operaciones en una variable afecten al objeto al que hace referencia la otra, cosa que no sucedería con los tipos de valor. Las referencias están diseñadas para almacenar datos e instanciarlos como nuevos contenedores que proveen características de una especie de plantilla (referencia) y son volátiles a modificaciones de sus datos. Se clasifican en:
object
char
en secuencia para generar palabras, oraciones, texto en general, se define con la palabra clave string
y se usan comillas dobles para asignarlo. Ejemplo "Hoy es un buen día para programar"
class Name { ... }
float[]
, multidimensionales float[,]
y escalonadas float[][]
.interface IName { ... }
por reglas de convención se le coloca una letra "I" en mayúscula antes del nombre de dicha interfaz.delegate int Name( ... )
, donde int
puede ser cualquier tipo de dato no necesariamente un entero.record Name { ... }
.En la programación orientada a objetos, las variables pueden estar en un contexto "más global" a la cual se le denomina estados o campos de una clase los cuales pueden jugar el rol de características o información de dicho objeto.