2013-10-04 46 views
0

這是我的C#編碼。我想每次回想起這個函數都要增加可變計數器。每次我記得這個函數時,有沒有辦法讓計數器增量1?如何增加一個用值'0'初始化的變量被多次調用的函數?

private void _CalculateValue() 
{ 
    double b = 0.1; 

    int counter = 0; 

    a = a * b; 

    counter++;  
} 
+0

計數器遞增在你的代碼。雖然,這似乎沒有任何意義,因爲*** ***同反變量都不會再函數執行完畢後感動。 – Rohan

+1

你可以添加一個靜態字段到包含此方法增量的類嗎? – Harrison

回答

4

如何

class customClass 
{ 

    int classLevelCounter = 0; 

    private void _CalculateValue() 
    { 
     double b = 0.1; 

     a = _a * b; 

     classLevelCounter++; 
    } 

} 

在你的問題counter的方法是創建和銷燬(失去其價值),一旦應用,克服了因爲它的範圍是唯一的方法。因此下一次它將再次從0初始化。

在我的回答中,classLevelCounter即使在方法結束後仍保留其值,因爲其範圍爲Class

這是一個工作示例。

enter image description here

+0

該變量不會是全局的。這是班級。 – Enigmativity

+0

@Enigmativity:完成。謝謝。 –

+0

我認爲所有這些例子都需要將變量作爲靜態和/或處於靜態類中。我想我們需要知道這個計數器對於每個對象是不同的,但是這種類型的方法似乎不是。 – Harrison

0

你需要這樣做:

int counter = 0; 

private void _CalculateValue() 
{ 
    double b = 0.1; 

    a = _a * b; 

    counter++;  
} 
0

只需要移動的方法以外的變量聲明。

class myClass 
{  
    int counter = 0; 
    private void _CalculateValue() 
    { 
     double b = 0.1; 
     a = a * b; 
     counter++;  
    } 
}