2015-10-14 50 views
0
private void ClearForm(double total, double subtotal, double salesTax, double sPrice, double quantity, double orderTotal, double orderQuantity) 
    { 
     sPrice = 0; 
     subtotal = 0; 
     total = 0; 
     quantity = 0; 
     salesTax = 0; 

     orderQuantity = 0; 
     orderTotal = 0; 

     lblStatus.Text = ""; 
     lblSalesTax.Text = ""; 
     lblSubTotal.Text = ""; 
     lblItemAmount.Text = ""; 
     lblTotal.Text = ""; 
     txtQuantity.Text = ""; 

     radClub.Checked = true; 

     chkDiscount.Checked = false; 
    } 

這是我的方法來將我的變量設置爲0,並清除標籤和文本框。 orderQuantity和orderTotal是全局變量,它們沒有被清除。其他的是局部變量,並且正在被清除。我的計劃是計算一家三明治店的訂單價格,我有一個「新訂單」按鈕,應該清除所有的東西,以便您可以做出新的訂單。我的方法來清除窗體不適用於全局變量,但對本地變量工作正常

+0

如果orderQuantity和orderTotal是全局的,爲什麼要將它們作爲參數傳遞? 作爲一個方面說明,儘量避免像鼠疫這樣的全局變量(如果你有發言權) –

回答

1

orderQuantity和的OrderTotal是全局變量

不,他們是局部的,因爲你只能用隱藏類級別定義的同名變量。

, double orderTotal, double orderQuantity) 

要清除他們在類的範圍內,

this.orderTotal = 0; 
this.orderQuantity = 0; 

或更改參數名稱,以免碰撞類範圍的變量。