static void Main(string[] args) { // Creo un estante Estante estante = new Estante(3, 1); // Creo 4 productos Producto p1 = new Producto("Pepsi", "PESDS97413", (float)18.5); Producto p2 = new Producto("Coca-Cola", "COSDS55752", (float)11.5); Producto p3 = new Producto("Manaos", "MASDS51292", (float)20.5); Producto p4 = new Producto("Crush", "CRSDS54861", (float)10.75); // Agrego los productos al estante if (estante + p1) { Console.WriteLine("Agregó {0} {1} {2}", p1.GetMarca(), (string)p1, p1.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p1.GetMarca(), (string)p1, p1.GetPrecio()); } if (estante + p1) { Console.WriteLine("Agregó {0} {1} {2}", p1.GetMarca(), (string)p1, p1.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p1.GetMarca(), (string)p1, p1.GetPrecio()); } if (estante + p2) { Console.WriteLine("Agregó {0} {1} {2}", p2.GetMarca(), (string)p2, p2.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p2.GetMarca(), (string)p2, p2.GetPrecio()); } if (estante + p3) { Console.WriteLine("Agregó {0} {1} {2}", p3.GetMarca(), (string)p3, p3.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p3.GetMarca(), (string)p3, p3.GetPrecio()); } if (estante + p4) { Console.WriteLine("Agregó {0} {1} {2}", p4.GetMarca(), (string)p4, p4.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p4.GetMarca(), (string)p4, p4.GetPrecio()); } // Muestro todo el estante Console.WriteLine(); Console.WriteLine("<------------------------------------------------->"); Console.WriteLine(Estante.MostrarEstante(estante)); Console.ReadKey(); }
static void Main(string[] args) { // Creo un estante Estante estante = new Estante(3, 1); // Creo 4 productos Producto p1 = new Producto("Pepsi", "PESDS97413", (float)18.5); Producto p2 = new Producto("Coca-Cola", "COSDS55752", (float)11.5); Producto p3 = new Producto("Manaos", "MASDS51292", (float)20.5); Producto p4 = new Producto("Crush", "CRSDS54861", (float)10.75); // Agrego los productos al estante if (estante + p1)//Agrega por primera vez p1, "Pepsi" { Console.WriteLine("Agregó {0} {1} {2}", p1.GetMarca(), (string)p1, p1.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p1.GetMarca(), (string)p1, p1.GetPrecio()); } if (estante + p1)//Intenta agregar por segunda vez p1, tiene que fallar porque ya existe { Console.WriteLine("Agregó {0} {1} {2}", p1.GetMarca(), (string)p1, p1.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p1.GetMarca(), (string)p1, p1.GetPrecio()); } if (estante + p2)//Primera vez p2, hay lugar, lo agrega { Console.WriteLine("Agregó {0} {1} {2}", p2.GetMarca(), (string)p2, p2.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p2.GetMarca(), (string)p2, p2.GetPrecio()); } if (estante + p3)//Primera vez p3, hay lugar, lo agrega { Console.WriteLine("Agregó {0} {1} {2}", p3.GetMarca(), (string)p3, p3.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p3.GetMarca(), (string)p3, p3.GetPrecio()); } if (estante + p4)//Primera vez p4, pero el estante fue creado con 3 de cantidad, no hay lugar { Console.WriteLine("Agregó {0} {1} {2}", p4.GetMarca(), (string)p4, p4.GetPrecio()); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p4.GetMarca(), (string)p4, p4.GetPrecio()); } // Muestro todo el estante Console.WriteLine(); Console.WriteLine("<------------------------------------------------->"); Console.WriteLine(Estante.MostrarEstante(estante)); Console.ReadKey(); }
public static string MostrarEstante(Estante e) { string productos = ""; foreach (Producto prod in e.productos) { productos += "\n" + Producto.MostrarProducto(prod); } string response = string.Format("Ubicacion: {0} \nProductos: {1}", e.ubicacionEstante, productos); return(response); }
public static string MostrarEstante(Estante e) { string cadena = ""; foreach (Producto p in e.GetProductos()) { //object.ReferenceEquals(p, null); <-- otro ejemplo de verificar que no sea null if (!(p is null))//El foreach recorre todo el array sea null o no, verificar que el producto sea !=NULL { //Recordar que al ser estatico, como MostrarProducto, se escribe clase.metodo(); cadena += "Ubic: " + e.ubicacionEstante + " " + Producto.MostrarProducto(p) + "\n"; } } return(cadena); }
public static Estante operator -(Estante e, Producto p) { Estante response = new Estante(e.productos.Length); if (e == p) { for (int i = 0; i < e.productos.Length; i++) { if (e.productos[i].Equals(p)) { response.productos[i] = e.productos[i]; } } } return(response); }
static void Main(string[] args) { #region TEORIA IMPORTANTE /*object.referenceEquals(var1,var2)compara si la referencia es null * EJEMPLO: * if(!object.referenceEquals(m2,null")) * { * Console.WriteLine("Si la referencia del objeto no es nulo, entra."); * } * * EL PROBLEMA EN EL CODIGO es en el ==(Estante e, Producto p) ya que el estante viene nullo */ #endregion // Creo un estante Estante estante = new Estante(3, 1); // Creo 4 productos Producto p1 = new Producto("Pepsi", "PESDS97413", (float)10.5); Producto p2 = new Producto("Coca-Cola", "COSDS55752", (float)10.5); Producto p3 = new Producto("Manaos", "MASDS51292", (float)10.5); Producto p4 = new Producto("Crush", "CRSDS54861", (float)10.5); // Agrego los productos al estante if (estante + p1) { Console.WriteLine("Agregó {0} {1} {2}", p1.GetMarca, (string)p1, p1.GetPrecio); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p1.GetMarca, (string)p1, p1.GetPrecio); } if (estante + p1) { Console.WriteLine("Agregó {0} {1} {2}", p1.GetMarca, (string)p1, p1.GetPrecio); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p1.GetMarca, (string)p1, p1.GetPrecio); } if (estante + p2) { Console.WriteLine("Agregó {0} {1} {2}", p2.GetMarca, (string)p2, p2.GetPrecio); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p2.GetMarca, (string)p2, p2.GetPrecio); } if (estante + p3) { Console.WriteLine("Agregó {0} {1} {2}", p3.GetMarca, (string)p3, p3.GetPrecio); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p3.GetMarca, (string)p3, p3.GetPrecio); } if (estante + p4) { Console.WriteLine("Agregó {0} {1} {2}", p4.GetMarca, (string)p4, p4.GetPrecio); } else { Console.WriteLine("¡NO agregó {0} {1} {2}!", p4.GetMarca, (string)p4, p4.GetPrecio); } // Muestro todo el estante Console.WriteLine(); Console.WriteLine("<------------------------------------------------->"); Console.WriteLine(Estante.MostrarEstante(estante)); Console.ReadKey(); }