2012-07-26 11 views

Respuesta

14

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 
+0

Supongo que '0' es mucho más claro que' default (double) '. Este último se usa generalmente con tipos genéricos en los que no puede conocer el valor predeterminado en el tiempo de escritura del código. – Joey

+0

@Joey, estoy de acuerdo, utilicé por defecto para dar una idea – Habib

3
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; 
} 
+0

¿por qué = 0? ... –

+0

Porque tiene que inicializar una variable por algún valor para evitar advertencias. – Nickon

+0

Para asignar un valor predeterminado en caso de que no se tome su if – Steve

4

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.

Cuestiones relacionadas