2012-01-13 61 views
-2

在C#中,如何将int设置为一个值而不是引用?设置一个Int值,而不是引用或指针

我目前在一个foreach循环中。

int prev = 0; 

foreach(Activity a in activities) 
{ 
//---- 
Do something 
//---- 

prev = a.number 
} 

问题是,prev只是引用,所以每当它转到下一个活动时它就会改变。我需要它被设置为未引用。

任何帮助非常感谢!

+2

的链接,您能解释一下你想要什么,实现什么,你得到什么?我不明白你的问题。 – empi 2012-01-13 23:19:53

+2

您在每次迭代中设置'prev'的值,所以除非'a.number'是一个常量值,那么每次循环时都会得到一个新值。请解释你正在尝试做什么。 – 2012-01-13 23:21:55

回答

3

Int是一个值类型,所以你总是设置值而不是引用。

+0

同意。事实上,'prev'会改变,因为你在循环中改变它。 – tobias86 2012-01-13 23:22:29

0

这将是一个参考,如果你只是使用out关键字,除非它只是通过值。 在这种情况下,prev更新会导致每次用新值覆盖现有值。 这就是为什么pre中的值会发生变化。