日期:2014-05-20  浏览次数:20777 次

一个简单的程序,大家给分析一下
private   void   button1_Click(object   sender,   System.EventArgs   e)
{
int   i=7;
int   j=5;
swap(i,j);
textBox1.Text=i.ToString()+j.ToString();
}
private   void   swap(int   a,int   b)
{
int   x;
x=a;
a=b;
b=x;
}

上面这段代码调用之后i和j的值并没有交换,请高手指教一下如何实现,并解释一下

------解决方案--------------------
可以这样子实现:

static void Main(string[] args)
{
int i = 7;
int j = 5;
swap(ref i, ref j);
Console.WriteLine( i.ToString() + j.ToString());
}

private static void swap(ref int a, ref int b)
{
int x;
x = a;
a = b;
b = x;
}