none
aumentar itenes de array con numericUpDown RRS feed

  • Pregunta

  • Buenas tardes.

    En un método tengo estas variables y el siguiente array:

    int entrada = Convert.ToInt16(numericUpDown_Entrada.Value);

    int valorA = Convert.ToInt16(numericUpDown_ValorA.Value);

    int valorB = Convert.ToInt16(numericUpDown_ValorB.Value);

    int valorC = Convert.ToInt16(numericUpDown_ValorC.Value);

    int valorD = Convert.ToInt16(numericUpDown_ValorD.Value);

    int salida = Convert.ToInt16(numericUpDown_Salida.Value);

    int[] net_def = new int[] { entrada, valorA, salida };

    Lo que quiero es:

    if(valorA>0){int[] net_def = new int[] { entrada, valorA, salida }; nota: valorA siempre es positivo

    if (valorA>0 && valorB>0) {int[] net_def = new int[] { entrada, valorA, valorB, salida };

    if (valorA>0 && valorB>0 && valorC>0) {int[] net_def = new int[] { entrada, valorA, valorB, valorC, salida };

    if (valorA>0 && valorB>0 && valorC>0 && valorD) {int[] net_def = new int[] { entrada, valorA, valorB, valorC, valorD, salida };

    Al utilizar if anidados siempre me da error porque net_def esta siendo utilizada en un ámbito local envolvente.

    He probado con switch case y tampoco me va.

    Alguna solución? Gracias anticipadas. Saludos

    jueves, 4 de abril de 2019 17:59

Respuestas

  • hola

    que pasa si usas la definicion de la variable por fuera del if

    int[] net_def = null;
    
    if(valorA>0){
    
       net_def = new int[] { entrada, valorA, salida };
    
    }

    igualente no creo que sea bueno esta forma de programar, porque no usas un List<>

    List<int> net_def = new List<int>(); if(valorA>0){ net_def.Add(entrada);

    net_def.Add(valorA);

    net_def.Add(salida); }

    de esta forma podras poner iems dinamicamente sin neesidad de complicar tanto el codigo

    puedes ir validando que variables tienen un valor mayor a cero he ir agregando

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 4 de abril de 2019 18:17

Todas las respuestas

  • hola

    que pasa si usas la definicion de la variable por fuera del if

    int[] net_def = null;
    
    if(valorA>0){
    
       net_def = new int[] { entrada, valorA, salida };
    
    }

    igualente no creo que sea bueno esta forma de programar, porque no usas un List<>

    List<int> net_def = new List<int>(); if(valorA>0){ net_def.Add(entrada);

    net_def.Add(valorA);

    net_def.Add(salida); }

    de esta forma podras poner iems dinamicamente sin neesidad de complicar tanto el codigo

    puedes ir validando que variables tienen un valor mayor a cero he ir agregando

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 4 de abril de 2019 18:17
  • Gracias Leandro.

    He tenido que recurrir al primer ejemplo poniendo if anidados, porque con un List me daba un null en una variable en otra parte del código.

    Salud para todos

    jueves, 4 de abril de 2019 19:29