大家很熟悉知道,交换变量经常的使用的一种方法是使用第三个变量,也符合正常人的思维逻辑,但是还有其他的一些方法来实现,但是有点“偏门”,记住就好了。下面就列举这几种方法。

第一种方法,会用到参数的方法再来修稿。

 1 using System;
 2 namespace Exercise
 3 {
 4     class Program
 5     {
 6         private static void Main(string[] args)
 7         {
 8             int num1 = 10;
 9             int num2 = 5;
10             int temp = num1;
11             num1 = num2;
12             num2 = temp;
13             Console.WriteLine("num1={0},num2={1}",num1,num2);
14             Console.ReadKey();
15         }
16     }
17 }

View Code

第二种方法,用到数轴上点到点之间的距离的使用,num2-num1;以下图示通过普通的加减运算来实现;

 1 using System;
 2 namespace ConsoleApplication1
 3 {
 4     class Program
 5     {
 6         static void Main(string[] args)
 7         {
 8             int num1 =3;
 9             int num2 = 7;
10             num1 = num2 - num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7
11             num2 = num2 - num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3
12             num1 = num2 + num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3
13             Console.WriteLine("num1={0},num2={1}", num1, num2);
14             Console.ReadKey();
15         }
16     }
17 }

View Code

第三种方法,是位运算,异或,理解:先异或存num1点的话,第二步必须求num2,第三步剩下num1了。 格式和数轴类似,只要把+ -号全变成^就实现。

 1 using System;
 2 namespace ConsoleApplication1
 3 {
 4     class Program
 5     {
 6         static void Main(string[] args)
 7         {
 8             int num1 =3;
 9             int num2 = 7;
10             num1 = num2 ^ num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7
11             num2 = num2 ^ num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3
12             num1 = num2 ^ num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3
13             Console.WriteLine("num1={0},num2={1}", num1, num2);
14             Console.ReadKey();
15         }
16     }
17 }

View Code

查看大神博客,自己细节把握。

转载于:https://www.cnblogs.com/leee/p/4135852.html

c#是否参入中间变量交换变量的几种方法相关推荐

  1. solidity 交换变量的两种方法

    1.异或 a=a^b;b=b^a;a=a^b;gas消耗:1232 2.临时变量 uint temp;temp=a;a=b;b=temp;gas消耗:1217

  2. 【C语言】如何不用中间变量交换变量的值

    [C语言]如何不用中间变量交换变量的值 思路分析 一般我们进行C语言中的变量交换时都是使用一个中间变量来进行求解,其实不适用中间变量也一样可以只需要使用下面的公司即可 m = m + n -n n = ...

  3. 设置环境变量的三种方法【转载】

    文章目录 1 设置环境变量的三种方法 1.1 临时设置 1.2 当前用户的全局设置 1.3 所有用户的全局设置 2 测试当前环境变量 3 脚本解析 3.1 打开的文件如下: 3.2 脚本解析说明 3. ...

  4. python中字符串怎么引用_Python:字符串中引用外部变量的3种方法

    方法一: username=input('username:') age=input('age:') job=input('job:') salary=input('salary') info1='' ...

  5. 怎么查看linux中的环境变量,linux中查看环境变量的两种方法

    linux中查看环境变量有两种方法: 第一种是看系统环境变量的配置文件: /etc/profile这个是环境变量配置文件,里面是应经配置号的环境变量.当你在Ubuntu上安装配置jdk的JAVA_HO ...

  6. 【交换变量】三种交换变量的方式:中间变量法,加减法,异或运算法

    这篇文章记录一下,交换变量的三种常见方式,分别是:中间变量法,加减法,异或运算法. 目录 (1)中间变量法 (2)加减法 (3)异或运算法 (1)中间变量法 算法思想: 声明一个额外的临时变量. 临时 ...

  7. 交换两个变量的值,不使用第三个变量的四种方法

    2019独角兽企业重金招聘Python工程师标准>>> 通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换.代码如下: int a,b; a=10; b=15; ...

  8. 数组中交换元素的几种方法总结

    在完成关于数组的大量算法中,基本都会涉及到元素交换,比如排序中是最常见的,一般的方法是新建一个临时变量,然后完成交换,如果给定的数组中元素是有范围的,其实还有其他方法也可以完成交换.下面就来总结一下这 ...

  9. matlab 函数到空间,Matlab中保存函数内部中间变量到工作空间的两种方法

    比如函数 function y=myfunt1(x) a=5e-6; d=20e-6; boc=0.6328e-7; f=linspace(10e-3,10e-3,100); z=2; y=exp(- ...

最新文章

  1. ## 使用MapReduce程序完成相关数据预处理
  2. Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
  3. 世界各国的教育差距有多大?这几部全世界都在热议的教育纪录片,揭开一切.........
  4. 一个计算机硕士毕业生的求职经验(二)
  5. Mybatis3 源码解析系列
  6. UART 初始化及使用示例代码
  7. 闭式系统蒸汽管径推荐速度_干货 | 蒸汽管路中,管径和阀门如何选型?
  8. 软件开发的需求分析样例
  9. 收集bug开源框架_百度开源又一力作发布!炸了。。。
  10. Python表白代码:“ 星光月夜烟花皆归你,我也归你”(满天烟花盛开、附番外玫瑰)
  11. duilib 控件位置
  12. zktime 协议_中控考勤机对接信呼帮助(中控ZKTime5.0系统软件版)
  13. pink老师世纪佳缘作业
  14. Spring Boot使用WebSocket实现群聊
  15. 数据压缩1 | 浊音清音爆破音时域及频域特性
  16. 随興8作者雨落下無痕
  17. 使用selenium模仿手机浏览器访问淘宝网页
  18. Shopify payments二次验证
  19. 怎么在jq中添加html样式,jquery怎么添加css样式
  20. 文竹越长越乱?教你7种修剪方法可保持文竹株形优美,矮壮浓密

热门文章

  1. openresty入门示例
  2. ElementUI弹出新增窗口
  3. Java栈内存溢出代码实例
  4. Java编程思想——到底选择合成还是继承
  5. Oracle实现数据增删改的sql语句实例
  6. python录入学生信息网_干货满满 | Python趣味编程教学实践
  7. 外星人颜色python练习_都来说一说你们都是如何自学Python的呀?
  8. 结合源码深入理解Android Crash处理流程
  9. Coding:取若干个1到n的整数可求和等于整数m,求出所有组合的个数
  10. 还在为Linux入门发愁?