C# 交换两个变量值


  1. 声明两个变量: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;
▲ 不用中间量
  1. 用方法来实现:将上题封装一个方法来做,方法有两个参数分别为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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM