c#两个数进行交换

1.使用中间变量的形式

csharp 复制代码
 private static void Main(string[] args)
        {
           int a1=10;
           int a2=20;
           ChangeNumber(ref a1,ref a2)
           onsole.WriteLine($"a1的值{a1},a2的值{a2}");
           Console.ReadLine();
        }
 public static void ChangeNumber(ref int a1, ref int a2)
        {
            int temp = a1;//temp=10
            a1 = a2;//a1=20
            a2 = temp;//a2=10
        }
//注意:使用ref参数修饰符,把值传递改为引用传递,从而改变外部变量的值

2.位运算(异或法)

csharp 复制代码
a与b异或两次,结果仍然是a:a==a^ b ^ b
a=a ^ b;
b=a ^b; (b=a ^ b ^ b=a)
a=a ^ b; (a= a^ b^ a=b)
相关推荐
9号达人几秒前
Jackson序列化让验签失败?破解JSON转义陷阱
java·后端·面试
Evan芙3 分钟前
使用inotify + rsync和sersync实现文件的同步,并且总结两种方式的优缺点
java·服务器·网络
拉姆哥的小屋3 分钟前
基于Benders分解的大规模两阶段随机优化算法实战:从理论到工程实践的完整解决方案
人工智能·算法·机器学习
爱笑的眼睛1111 分钟前
PyTorch自动微分:超越基础,深入动态计算图与工程实践
java·人工智能·python·ai
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ18 分钟前
java实现登录:多点登录互踢,30分钟无操作超时
java·前端
Three K27 分钟前
Redisson限流器特点
java·开发语言
鹿角片ljp27 分钟前
力扣144.二叉树前序遍历-递归和迭代
算法·leetcode·职场和发展
Halo_tjn28 分钟前
Java 多线程机制
java·开发语言·windows·计算机
Jeff-Nolan32 分钟前
C++运算符重载
java·开发语言·c++
她说..33 分钟前
Spring AOP场景3——接口防抖(附带源码)
java·后端·spring·java-ee·springboot