Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. using System;
  2.  
  3. namespace Articulos.Preguntas
  4. {
  5.     // Definición estructura para la entidad `Punto`:
  6.     public struct EstructuraPunto
  7.     {
  8.         public int x;
  9.         public int y;
  10.        
  11.         public EstructuraPunto(int x, int y)
  12.         {
  13.             this.x = x;
  14.             this.y = y;
  15.         }
  16.     }
  17.    
  18.     // Define la clase para la entidad `Punto`:
  19.     public class ClasePunto
  20.     {
  21.         public int x;
  22.         public int y;
  23.        
  24.         public ClasePunto(int x, int y)
  25.         {
  26.             this.x = x;
  27.             this.y = y;
  28.         }
  29.     }
  30.    
  31.     public sealed class EstructuraVsClase
  32.     {
  33.         public static void Main()
  34.         {
  35.             EstructuraPunto estructuraPunto = new EstructuraPunto();
  36.             estructuraPunto.x = 11;
  37.             estructuraPunto.y = 11;
  38.            
  39.             Console.WriteLine("\nValores iniciales de la estructura son: x = {0}, y = {1}",
  40.                               estructuraPunto.x.ToString(), estructuraPunto.y.ToString());
  41.             ModificacionEstructuraPunto(estructuraPunto);
  42.             Console.WriteLine("Después de invocar `ModificacionEstructuraPunto`, los valores de la estructura son: x = {0}, y = {1}",
  43.                               estructuraPunto.x.ToString(), estructuraPunto.y.ToString());
  44.            
  45.             Console.WriteLine();
  46.            
  47.             ClasePunto clasePunto = new ClasePunto(11, 11);
  48.             Console.WriteLine("\nValores iniciales de la clase son: x = {0}, y = {1}",
  49.                               clasePunto.x.ToString(), clasePunto.y.ToString());
  50.             ModificacionClasePunto(clasePunto);
  51.             Console.WriteLine("Después de invocar `ModificacionClasePunto`, los valores de la clase son: x = {0}, y = {1}",
  52.                               clasePunto.x.ToString(), clasePunto.y.ToString());
  53.            
  54.             Console.WriteLine();
  55.         }
  56.        
  57.         static void ModificacionEstructuraPunto (EstructuraPunto punto)
  58.         {
  59.             punto.x = 19;
  60.             punto.y = 19;
  61.            
  62.             Console.WriteLine ("\nMétodo `ModificacionEstructuraPunto`");
  63.             Console.WriteLine ("Los valores modificados del parámetro `punto`: x = {0}, y = {1}", punto.x.ToString(), punto.y.ToString());
  64.         }
  65.        
  66.         static void ModificacionClasePunto(ClasePunto punto)
  67.         {
  68.             punto.x = 19;
  69.             punto.y = 19;
  70.            
  71.             Console.WriteLine ("\nMétodo `ModificacionClasePunto`");
  72.             Console.WriteLine ("Los valores modificados del parámetro `punto`: x = {0}, y = {1}", punto.x.ToString(), punto.y.ToString());
  73.         }
  74.     }
  75. }