2014-09-26 266 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应该在范围内解决这个问题,因为它的生命期将是形式。

相关问题