/// <summary> /// Los tipos de valor y los tipos de referencia son las dos categorías principales de tipos de C#. /// Una variable de un tipo de valor contiene una instancia del tipo (una copia). /// Una variable de un tipo de referencia, que contiene una referencia a una instancia(un puntero a la dirección de memoria). /// </summary> /// <param name="args"></param> static void Main(string[] args) { //Variable de tipo referencia. Objeto definido con Class. var alumno = new Alumno() { Nombre = "Ana", Apellidos = "Sanz" }; var alumnoA = new Alumno(); var alumnoB = new Alumno("Borja", "Cabeza"); int a = 10; Console.WriteLine($"{alumno.Nombre} {alumno.Apellidos} - {a}"); Transformar(alumno, ref a); Console.WriteLine($"{alumno.Nombre} {alumno.Apellidos} - {a}" + Environment.NewLine); //Variable de tipo valor. Objeto definico con Struct. var alumno2 = new Alumno2() { nombre = "Ana", apellidos = "Sanz" }; Console.WriteLine($"{alumno2.nombre} {alumno2.apellidos}"); Transformar(alumno2); Console.WriteLine($"{alumno2.nombre} {alumno2.apellidos}" + Environment.NewLine); }
static void Transformar(Alumno a, Alumno2 b) { }
/// <summary> /// Método que recibe un parámetro /// </summary> /// <param name="a">Representa un objeto Alumno creado con Struct, es de valor</param> static void Transformar(Alumno2 a) { a.nombre = "Borja"; a.apellidos = "Cabeza"; }