**1.使用临时变量**
1. Console.WriteLine("请输入两个整数x,y");
2. int x = int.Parse(Console.ReadLine());//使用 int.parse(string s) 将输入的字符串为int值
3. int y = Convert.ToInt32(Console.ReadLine());//使用Convert.ToInt32(string value) 将输入的字符串转化为int值
4. Console.WriteLine("x={0},y={1}", x, y);
5. int temp;//定义一个临时变量temp
6. temp = x; //将x的值赋给temp
7. x = y; //将y的值赋给x
8. y = temp; //将temp存放的x的值赋给y
9. Console.WriteLine("x={0},y={1}",x,y);
知识点:将输入的字符串转化为int值 两种方法:int.Parse(string s)和Convert.ToInt32(string value)。定义一个临时变量temp,将x的值赋给temp,然后将y的值赋给x,然后将temp存放的x的值赋给y;(可以这样理解:相当与一个空杯子、一杯咖啡,一杯牛奶,将牛奶和咖啡交换)
**2.使用加减法**
1. Console.WriteLine("输入两个整数x,y");
2. int x = int.Parse(Console.ReadLine());
3. int y = Convert.ToInt32(Console.ReadLine());
4. Console.WriteLine("x={0},y={1}", x, y);
5. x = x + y; //将x+y的和的值赋给x
6. y = x - y; //这个x-y等于x和y的和减去原先y的值剩余原先x的值
7. x = x - y; //这个x-y等于x+y的和减去y的值(y在上一步已经变成原先x的值),剩余原先的y的值
8. Console.WriteLine("x={0},y={1}", x, y);
思路:将x+y的和的值赋给x(y的值不变)。x减去于原先y的值即为x的值,将这个得到的x的值赋给y。然后x减去上一步得到的y的值(实际上是原先x的值),就得到现在x的值(原先y的值)
**3.使用方法(这里注意要用到ref)**
1. static void Main(string[] args)
2. {
3. Console.WriteLine("请输入两个整数x,y");
4. int x = int.Parse(Console.ReadLine());
5. int y = Int32.Parse(Console.ReadLine());
6. Console.WriteLine("x={0},y={1}", x, y);
7. Swap(ref x, ref y); //方法在用一个类时调用 注意要用关键字ref
8. Console.WriteLine("x={0},y={1}", x, y);
9. Exchange.Swap(ref x,ref y); //方法在不同类时的调用 注意要用关键字ref
10. Console.WriteLine("x={0},y={1}",x,y);
11. }
12. static void Swap(ref int x, ref int y) //写一个方法,调用方法实现变量交换 这是在同一个类的情况
13. {
14. int temp = x;
15. x = y;
16. y = temp;
17. }
18. class Exchange
19. {
20. /// <summary>
21. /// 写一个方法,调用方法实现变量交换 这是不在同一个类的情况
22. /// </summary>
23. /// <param name="x"></param>
24. /// <param name="y"></param>
25. public static void Swap(ref int x, ref int y)
26. {
27. int temp = x;
28. x = y;
29. y = temp;
30. }
31.
32. }
ps:这里注意使用方法交换两个变量,要使用ref关键字(不论是形参还是实参)。在同一个类时,要将方法定义为static(静态类),如果不是静态类就会要求有对象引用。在不同类时,除了将类定义为static,还要加上修饰符public(不加的话默认应该是private),不然不能引用该方法。