2012-07-26 6 views

risposta

14

Definirlo al di fuori dell'istruzione if.

double insuranceCost; 
if (this.comboBox5.Text == "Third Party Fire and Theft") 
     { 
      insuranceCost = 1; 
     } 

Se lo si restituisce dal metodo, allora è possibile assegnare un valore predefinito o 0, altrimenti si rischia di ottenere un errore, "Utilizzo di variabili non assegnata";

double insuranceCost = 0; 

o

double insuranceCost = default(double); // which is 0.0 
+0

Immagino che '0' sia molto più chiaro di' default (double) '. Quest'ultimo viene solitamente utilizzato con tipi generici in cui non è possibile conoscere il valore predefinito al momento della scrittura del codice. – Joey

+0

@Joey, sono d'accordo, ho usato l'impostazione predefinita per dare un'idea – Habib

3
double insuranceCost = 0; 
    if (this.comboBox5.Text == "Third Party Fire and Theft") 
    { 
     insuranceCost = 1; 

    } 

dichiararlo prima istruzione if, dando un valore predefinito. Imposta il valore all'interno di if. se non si assegna un valore predefinito al doppio, si otterrà un errore in fase di compilazione. Per esempio

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

perché il = 0? ... –

+0

Perché si deve inizializzare una variabile con un certo valore per evitare avvertimenti. – Nickon

+0

Per assegnare un valore predefinito nel caso in cui il tuo se non viene preso – Steve

4

In aggiunta alle altre risposte, si può solo inline il if in questo caso (tra parentesi aggiunto solo per chiarezza):

double insuranceCost = (this.comboBox5.Text == "Third Party Fire and Theft") ? 1 : 0; 

Sostituire 0 con qualsiasi valore che si desidera inizializzare insuranceCost a, se la condizione non corrisponde.

Problemi correlati