- 声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换?
int n1 = 10; int n2 = 20; int temp; temp = n1; n1 = n2; n2 = temp;▲ 借用中间量
int n1 = 10; int n2 = 20; n1 = n1 + n2; n2 = n1 - n2; n1 = n1 - n2;▲ 不用中间量
- 用方法来实现:将上题封装一个方法来做,方法有两个参数分别为num1,num2,将num1与num2交换。提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。(*)
static void Main(string[] args) { int n1 = 10; int n2 = 20; Console.WriteLine("交换前:n1 = {0}, n2 = {1}", n1, n2); SwapNum<int>(ref n1, ref n2); Console.WriteLine("交换前:n1 = {0}, n2 = {1}", n1, n2); Console.ReadKey(); } static void SwapNum<T> (ref T a, ref T b) { T temp; temp = a; a = b; b = temp; }
运行结果:
交换前:n1 = 10, n2 = 20 交换前:n1 = 20, n2 = 10
参考:
1.link-01