Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con arreglo de booleans

Estas en el tema de Problema con arreglo de booleans en el foro de .NET en Foros del Web. Hola Foreros.. alguien me puede ayudar con el siguiente problema? Tengo un dato string, que contiene un numero binario, el cual debo procesar, para formar ...
  #1 (permalink)  
Antiguo 24/06/2010, 15:15
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 5 meses
Puntos: 5
Problema con arreglo de booleans

Hola Foreros.. alguien me puede ayudar con el siguiente problema?

Tengo un dato string, que contiene un numero binario, el cual debo procesar, para formar un array de booleans dependiendo de cada valor del binario en cuestion. el codigo que tengo es el siguiente:

Código:
            bool[] bOpciones = null;
            for (int iCont = 0; iCont < binario.Length; iCont++)
            {
                bool bOpcion = new bool();
                if (binario.Substring(iCont, 1).Trim() == "0")
                {
                    bOpcion = true;
                }
                else
                {
                    bOpcion = false;
                }
                bOpciones.SetValue(bOpcion, iCont);
            }
el problema esta al querer agregar un boolean al array de booleans definido. La verdad de las cosas es que no se si sera esta la forma de hacerlo.
Alguna pista de que estoy haciendo mal?

Saludos
PLCH
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...
  #2 (permalink)  
Antiguo 25/06/2010, 11:35
 
Fecha de Ingreso: junio-2010
Ubicación: .. somewhere
Mensajes: 30
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema con arreglo de booleans

Por que no simplemente le pasas directamente el valor al arreglo bOpciones?

Código:

bool[] bOpciones = new bool(binario.Length);
for (int iCont = 0; iCont < binario.Length; iCont++)
  bOpcion[iCont] = (binario.Substring(iCont, 1).Trim() == "0") ? true : false;
No lo he probado pero la lógica es esa, espero que esto te pueda ayudar.
  #3 (permalink)  
Antiguo 29/06/2010, 08:33
Avatar de Porlachucha  
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: Problema con arreglo de booleans

precisamente es ese el error, bOpciones, no tiene un constructor en el cual especificar el numero de elementos en el arreglo. de todas formas gracias por tu sugerencia, ya lo solucione con ArrayList. Aca dejo el codigo por si alguien le interesa.

Código:
        public static ArrayList alNumberToOpc(int iNumero)
        {
            try
            {
                string binario = "";
                int iCont;
                if (iNumero != 1)
                {
                    for (iCont = iNumero; iCont != 0 && iCont != 1; iCont = iCont / 2)
                    {
                        binario = (iCont % 2) + binario;
                    }
                    if (iCont == 0)
                    {
                        binario = "0";
                    }
                    else
                    {
                        binario = 1 + binario;
                    }
                }
                else
                {
                    binario = "1";
                }
                ArrayList alOpciones = new ArrayList();
                for (iCont = 0; iCont < binario.Length; iCont++)
                {
                    if (binario.Substring(iCont, 1).Trim() == "0")
                    {

                        alOpciones.Add("0");
                    }
                    else
                    {
                        alOpciones.Add("1");
                    }
                }
                alOpciones.Reverse();
                return alOpciones;
            }
            catch (Exception ex)
            {
                return null;
            }
        }
__________________
Nada mas patetico que "detestar" a Intel o Microsoft o Windows o Apple ... apuesto que eres el tipico teton espinilluo y pajero que usa Linux para sentirse capo ...

Etiquetas: arreglos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:22.