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)
相关推荐
baivfhpwxf20237 分钟前
用TCP服务端向多个客户端分发图片,客户端接收并处理图片,再将处理结果返回给服务端
服务器·开发语言·网络·tcp/ip·c#
u***27618 分钟前
Spring Boot 条件注解:@ConditionalOnProperty 完全解析
java·spring boot·后端
222you23 分钟前
MyBatis-Plus当中BaseMapper接口的增删查改操作
java·开发语言·mybatis
保持低旋律节奏25 分钟前
算法——冗余!哈希表、vector、string适配器的混合使用
数据结构·算法·散列表
2501_9411447725 分钟前
Apache Kafka高吞吐消息系统实践分享:实时数据流处理与消息可靠性优化经验
c#·linq
weixin_457760001 小时前
OpenCV 图像处理基础算法详解(一)
图像处理·opencv·算法
纪莫1 小时前
技术面:MySQL(一条SQL在MySQL的执行过程?、MyISAM和InnoDB的区别?数据库事务机制?)
java·数据库·java面试⑧股
闲人编程1 小时前
Python协程的演进:从yield到async/await的完整历史
java·前端·python·async·yield·await·codecapsule
帅中的小灰灰1 小时前
C++编程建造器设计模式
java·c++·设计模式