6

ステートメントinsuranceCostの外で利用できるようにするにはどうすればよいですか?if

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

3 に答える 3

16

ifステートメントの外で定義します。

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

メソッドから返す場合は、デフォルト値または0を割り当てることができます。そうしないと、「割り当てられていない変数の使用」というエラーが発生する可能性があります。

double insuranceCost = 0;

また

double insuranceCost = default(double); // which is 0.0
于 2012-07-26T07:20:36.887 に答える
5

他の回答に加えて、ifこの場合はインライン化することもできます(括弧はわかりやすくするためにのみ追加されています)。

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

条件が一致しない場合は、0初期化する値に置き換えます。insuranceCost

于 2012-07-26T07:22:35.633 に答える
3
    double insuranceCost = 0; 
    if (this.comboBox5.Text == "Third Party Fire and Theft") 
    { 
        insuranceCost = 1; 

    } 

ifステートメントの前に宣言し、デフォルト値を指定します。if内に値を設定します。doubleにデフォルト値を指定しないと、コンパイル時にエラーが発生します。例えば

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;
}
于 2012-07-26T07:20:49.393 に答える