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

posted @   double64  阅读(474)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示