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

using System;
namespace Exercise
{
class Program
{
private static void Main(string[] args)
{
int num1 = ;
int num2 = ;
int temp = num1;
num1 = num2;
num2 = temp;
Console.WriteLine("num1={0},num2={1}",num1,num2);
Console.ReadKey();
}
}
}
第二种方法,用到数轴上点到点之间的距离的使用,num2-num1;以下图示通过普通的加减运算来实现;

using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int num1 =;
int num2 = ;
num1 = num2 - num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7
num2 = num2 - num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3
num1 = num2 + num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3
Console.WriteLine("num1={0},num2={1}", num1, num2);
Console.ReadKey();
}
}
}
第三种方法,是位运算,异或,理解:先异或存num1点的话,第二步必须求num2,第三步剩下num1了。 格式和数轴类似,只要把+ -号全变成^就实现。
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int num1 =;
int num2 = ;
num1 = num2 ^ num1;//算出距离 并赋值给num1,被赋值的变量值已经变成了距离,另一变量没有变。num1被赋值成距离。 num1=4,num2=7
num2 = num2 ^ num1;//num2减去距离,就等于num1;此时num1还没有交换成num2;完成“num2”的交换成num1。num1=4 num2=3
num1 = num2 ^ num1;//被赋值成的num1值的num2加上距离再赋值成num1,完成num1的被交换成。num1=7,num2= 3
Console.WriteLine("num1={0},num2={1}", num1, num2);
Console.ReadKey();
}
}
}
查看大神博客,自己细节把握。
c#是否参入中间变量交换变量的几种方法的更多相关文章
- java环境变量配置四种方法
原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...
- Ubuntu设置环境变量的几种方法
1.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.1 永久的:需要修改配置文件,变量永久生效. 1.2 临时的:使用export命令声明即可,变量在关闭shell时失效 ...
- PHP 序列化变量的 4 种方法
摘自: PHP 序列化变量的 4 种方法 http://www.iteye.com/news/25668
- Kettle_设置变量的两种方法
一个复杂的kettle作业一般包括很多子作业和转换,在主作业Start后通常会添加一个[设置变量]的流程,该流程的功能是为所有流程的公共变量设置通用值. 主作业添加的[设置变量]针对的是所 ...
- ubuntu12中设置PATH环境变量的几种方法(三种办法)
如果在Ubuntu12系统中自行安装了一些软件,特别是使用tar.gz文件包安装的软件,通常会放在/usr/local或者/opt,甚至放在/home下,但是如果要调用或执行时,必须加上完整的路径才可 ...
- PG 存储函数调用变量的3种方法。
一.假设有表student,字段分别有id,remark,name等字段. 二.写一个存储函数,根据传过去的变量ID更新remark的内容. 调用该存储函数格式如下:select update_st ...
- Hive开发中使用变量的两种方法
在使用hive开发数据分析代码时,经常会遇到需要改变运行参数的情况,比如select语句中对日期字段值的设定,可能不同时间想要看不同日期的数据,这就需要能动态改变日期的值.如果开发量较大.参数多的话, ...
- linux修改环境变量的三种方法【转】
[环境变量配置的三个方法] 如想将一个路径加入到$PATH中,可以像下面这样做: 1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时 ...
- 交换两个变量的值,不借助第三个变量的 三种方法(JS实现)
第一种:算术运算法 var a = 10; var b = 12; a = b - a; b = b - a; a = b + a; 它的原理是:把a.b看做数轴上的点,围绕两点间的距离来进行计算.具 ...
随机推荐
- osgEarth例子
#include <osgViewer/Viewer>#include <osgViewer/ViewerEventHandlers>#include <osgGA/St ...
- MFC中添加消息响应函数
转自:http://blog.csdn.net/eddy_liu/article/details/8474677 目前,用MFC设计的Windows应用程序几乎都采用文档/视图结构.这种程序框架与简单 ...
- window常用软件
ftpserver QQ asc pan 屏保 view putty 迅雷 teamviewer绿色 teamviewer单文件 魔方 chrome winscp WinRAR xshell 鲁大师 ...
- 第一章 用记事本搭建C#程序
1.新建记事本:using System;class Text{ Console.WriteLine("你好如鹏网"); Console.WriteLine("www.r ...
- 用php输入表格内容
<body> <table width="100%" border="1" cellpadding="0" cellspa ...
- IntelliJ IDEA快捷键和常用设置
一 快捷键的使用 1.文本编辑删除 ctr + y复制 ctr + D2.智能提示提示 ctr + space智能提示 ctr + shift + space完成当前语句 ctr + ...
- 关于Android中RemoveView的错误理解
我以前一直以为,一个View被removeView了之后,就会被回收.其实不是这样的.如果有人引用它. 它还是会存在的.removeView和View被回收没有必然的关系.一个View被removeV ...
- redis的PHP扩展包安装方法
试用Redis安装.php环境连接.测试 Redis介绍 Redis本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库,但是他的数据可以持久化的保存在磁盘上,解 ...
- Windows 程序支持 Unicode
宽字符 阅读了 UTF-8 Everywhere 一文,推荐在程序中对于字符串都使用 UTF-8 编码.Unix-like 系统默认是支持 UTF-8 编码的Unicode字符串,标准库函数也默认支持 ...
- dip,px,pt,sp的区别
dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素. ...