¿Cómo puedo hacer que insuranceCost
esté disponible fuera de la declaración if
?Acceder a una variable fuera de una instrucción 'if'
if (this.comboBox5.Text == "Third Party Fire and Theft")
{
double insuranceCost = 1;
}
¿Cómo puedo hacer que insuranceCost
esté disponible fuera de la declaración if
?Acceder a una variable fuera de una instrucción 'if'
if (this.comboBox5.Text == "Third Party Fire and Theft")
{
double insuranceCost = 1;
}
Definirlo fuera de la declaración if.
double insuranceCost;
if (this.comboBox5.Text == "Third Party Fire and Theft")
{
insuranceCost = 1;
}
Si devuelve desde el método a continuación, puede asignarle un valor por defecto o 0, de lo contrario se puede obtener un error, "Uso de la variable no asignada";
double insuranceCost = 0;
o
double insuranceCost = default(double); // which is 0.0
double insuranceCost = 0;
if (this.comboBox5.Text == "Third Party Fire and Theft")
{
insuranceCost = 1;
}
declararlo antes de la sentencia if, dando un valor por defecto. Establezca el valor dentro de if. si no le da un valor predeterminado al doble, obtendrá un error en tiempo de compilación. Por ejemplo
double GetInsuranceCost()
{
double insuranceCost = 0;
if (this.comboBox5.Text == "Third Party Fire and Theft")
{
insuranceCost = 1;
}
// Without the initialization before the IF this code will not compile
return insuranceCost;
}
Además de las otras respuestas, que sólo podría inline la if
en este caso (paréntesis añadido únicamente para mayor claridad):
double insuranceCost = (this.comboBox5.Text == "Third Party Fire and Theft") ? 1 : 0;
Reemplazar 0
con cualquier valor que desea inicializar insuranceCost
a, si la condición no coincide.
¿Qué valor debe tener insuranceCost si el texto de 'comboBox5' es diferente? – Heinzi