2014-11-07 256 views
0

我是一個初學者,在c#中有非常非常基礎的知識。if語句返回方法

如何使用if語句編寫返回方法?例如:我必須計算成本來填滿游泳池並選擇最便宜的替代品。我的選擇是使用軟管方法或消防車方法。

使用軟管方法:如果池的大小爲< 11,則成本將爲3.20 * 32,否則將爲32.00 + (size - 10)

使用消防車的方法:成本將是120.00 + (size* 1.50)

這是我曾嘗試:

private double hosePipeCost(double size) 
{ 
    if (size <= 11) 
    { 
     double answer = size * 3.20; 
     return answer; 
    } 
    else 
    { 
     32.00 + (size - 10); 
    } 
} 

private double fireEngineCost(double size) 
{ 
    double answer = (size * 1.50) + 120.00; 
    return answer; 
} 
+2

[你嘗試過什麼?](HTTP:/ /whathaveyoutried.com/)寫出一些努力/代碼而不是直接從本書中提出的問題會讓你更進一步。 – ethorn10 2014-11-07 02:22:48

+0

消防車是從來沒有便宜的給定那些公式.. – steve16351 2014-11-07 02:31:54

+0

@ steve16351我想用軟管填充我的11號游泳池。似乎最好的交易是遠。 – ethorn10 2014-11-07 02:35:11

回答

1

你有兩個選擇。您可以使用常規的if語句,也可以使用條件表達式。

if statment:

if(pool.size < 11){ 
    return 3.20 * 32; 
} 
else{ 
    return 120.00 + (pool.size* 1.50) 
} 

條件表達式:

return pool.size < 11 ? 3.20 * 32 : 120.00 + (pool.size* 1.50); 
0

使用ternary operator,是這樣的:

return ((pool < 11) ? 3.20 * 22 : 32.00 + (size - 10)) 

你上心那裏,它適應你的情況。

+0

具體要求使用'if'語句的問題。 – Enigmativity 2014-11-07 02:38:15

1

你可以這樣做,它只是一個偏好,但你應該在返回之前將值存儲在變量中。在if語句中不要返回。

private double hosePipeCost(double size) 
{ 
    double answer = 0; 
    if (size <= 11) 
    { 
     answer = size * 3.20; 
    } 
    else 
    { 
     answer = 32.00 + (size - 10); 
    } 
    return answer; 
} 

或者你可以在這種情況下使用三元運算,

return size <= 11 ? size * 3.20 : 32.00 + (size - 10); 

但話又說回來,如果你想可讀性或櫃面你有其他條件滿足,則if語句的路要走。

0

你甚至不需要else零件代碼在這裏。你不需要在這裏聲明變量。

做象下面這樣:

private double hosePipeCost(double size) 
{ 
    if (size <= 11) 
     return size * 3.20;  // If the condition is `True`. Returns the value and Ends the execution here. 

    return 32.00 + (size - 10); // If not returns and ends here. 
} 

OR:

作爲最佳實踐,我建議Conditional Statement

private double hosePipeCost(double size) 
{ 
    return size <= 11 ? size * 3.20 : 32.00 + (size - 10); 
}