コード例 #1
0
        //true si una tempera esta en la paleta , lo que hago es recorrer el array de colores y preguntar por el == que definimos en tempera

        public static bool operator ==(Paleta p, Tempera t)
        {
            bool retorno = false;

            if ((!(object.Equals(t, null))))
            {
                foreach (Tempera t2 in p._colores)
                {
                    if ((!(object.Equals(t2, null))))   //valido que el array de temperas de paleta este completo y no tenga null
                    {
                        if (t2 == t)
                        {
                            retorno = true;
                            break;
                        }
                    }
                }

                //Esta forma tambien funciona

                /*  for(i=0;i<p._cantMaximaElementos;i++)
                 *  {
                 *      if(p._colores.GetValue(i)!=null)
                 *      {
                 *          if(p._colores[i]==t)
                 *          {
                 *              retorno = true;
                 *              break;
                 *          }
                 *      }
                 *  }*/
            }
            return(retorno);
        }
コード例 #2
0
        // el operador + agrega color(temperas) a nuestra paleta
        //si a tempera esta en la PALETA , se acumulan las cantidades en el lugar de la tempera
        //ejemplo tengo el rojocon cantidad 5 y si traigo otra roja con 6 , se acumula y queda 11
        //si no esta el color , a la primera vez que quiera ingresar algo , permite agreagr la tempera
        //en el primer lugar libre,como lo busco :
        //metodo privado de instancia obtener indice que retorna entero , lo que hace es recorrer el aray de colores
        //y retornar el Indice cuando encontro el primer null
        // y si esta toda ocupada agrego un valor como guia ejemplo -1

        //devuelva el indice donde se aloja esa tempera , si no esta dentro del array devuelve  negativo


        private int ObtenerIndice()  //busca el primer espacio libre para poner una tempera
        {
            int retorno = -1;
            int i;

            for (i = 0; i < this._cantMaximaElementos; i++)
            {
                if (this._colores.GetValue(i) == null)
                {
                    retorno = i;
                    break;
                }
            }
            return(retorno);
        }
コード例 #3
0
        private int ObtenerIndice(Tempera t) //busca si la tempera que pasamos es igual a alguna que este en la paleta
        {
            int retorno = -1;
            int i;

            for (i = 0; i < this._cantMaximaElementos; i++)
            {
                if (this._colores.GetValue(i) != null)
                {
                    if (this._colores[i] == t)
                    {
                        retorno = i;
                        break;
                    }
                }
            }

            return(retorno);
        }