2014-09-26 261 views
0

我在C#中工作,並且無法將變量傳遞迴單擊按鈕內部的函數。將變量傳遞給另一個類

所以我有一個窗體上有一個按鈕。

private void button3_Click(object sender, EventArgs e) 
{ 
    int count = 0; 
    new EvaluateQuery().RunQuery(_Query,count); 

我有初始化爲一個計數變量。它將此值傳遞給另一個函數。它用作我的EvaluateQuery函數中的數組的索引。

基本上,該功能會做一些魔法並停止。一旦魔術完成,我會增加我的count變量。然後遞增的值應該返回到我的EvaluateQuery函數,所以如果再次單擊該按鈕,它可以將的值傳遞給我的函數等等。我無法將遞增的值傳遞回去。

我對此非常躊躇。任何有關這個話題的幫助將不勝感激。提前致謝。

+1

你必須通過參考計數。查閱這篇文章:http://msdn.microsoft.com/en-ca/library/14akc2c7.aspx瞭解更多詳情。爲什麼不能讓函數返回計數呢?按鈕上的 – Chandu 2014-09-26 16:04:28

+2

點擊您的計數將再次變爲0 – 2014-09-26 16:04:56

回答

3

如果count打算被RunQuery修改,那麼它需要通過ref。或者,該函數可以返回計數,並且您可以將其分配。

無論哪種方式,你都有更大的問題count有功能範圍。這意味着當函數退出時變量會丟失,並在再次調用該變量時重新創建(在這種情況下,每次用戶單擊該按鈕時)。

count應該在範圍內解決這個問題,因爲它的生命期將是形式。

相關問題