C#赋值运算符
一、C#赋值运算符
C#语言的赋值运算符用于将一个数据赋予一个变量、属性或者引用。数据可以是常量、变量或者表达式。
1. 简单赋值
“=”操作符被称为简单赋值操作符。在一个简单赋值中,右操作数必须为某种类型的表达式,且该类型必须可以隐式地转换成左操作数类型。
该运算将右操作数的值赋给作为左操作数的变量、属性或者索引器类型。简单赋值表达式的结果是被赋给左操作数的值。结果类型和和左操作数的类型相同,且总是值类型。
如:
int a = 3; // 将3赋给a当然,在C#语言中允许对变量连续赋值。执行连续赋值操作时,右边表达式应当从右向左依次进行赋值。
如:
int x = y = 10; // 相当于 x = (y = 10)。先赋值给括号里面的y,再赋值给括号外面的x。
2. 复合赋值
赋值运算符可以与其它数值运算符结合起来形成组合赋值运算符。
赋值运算符如下表所示:

3. 提示
如果赋值操作符两边的操作数类型不一致,那么就要先进行类型转换。
二、示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
// C#赋值运算符-www.baike369.com
int x = 11;
Console.WriteLine("x=" + x);
Console.WriteLine("x+=2的运算结果为:" + (x += 2));
x = 11;
Console.WriteLine("x-=2的运算结果为:" + (x -= 2));
x = 11;
Console.WriteLine("x*=2的运算结果为:" + (x *= 2));
x = 11;
Console.WriteLine("x/=2的运算结果为:" + (x /= 2));
x = 11;
Console.WriteLine("x%=2的运算结果为:" + (x %= 2));
x = 11;
Console.WriteLine("x>>=2的运算结果为:" + (x >>= 2));
x = 11;
Console.WriteLine("x<<=2的运算结果为:" + (x <<= 2));
x = 11;
Console.WriteLine("x&=2的运算结果为:" + (x &= 2));
x = 11;
Console.WriteLine("x|=2的运算结果为:" + (x |= 2));
x = 11;
Console.WriteLine("x^=2的运算结果为:" + (x ^= 2));
Console.ReadLine();
}
}
}
运行结果:
x=11
x+=2的运算结果为:13
x-=2的运算结果为:9
x*=2的运算结果为:22
x/=2的运算结果为:5
x%=2的运算结果为:1
x>>=2的运算结果为:2
x<<=2的运算结果为:44
x&=2的运算结果为:2
x|=2的运算结果为:11
x^=2的运算结果为:9
C#赋值运算符的更多相关文章
- C++ 拷贝构造函数和赋值运算符
本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数.什么情况下调用赋值运算符.最后,简单的分析了下深拷贝和浅拷贝的问题. 拷贝构造函数和赋值运算符 在默认情况下(用户没有定义 ...
- C++ 构造函数、析构函数、拷贝构造、赋值运算符
之所以要把它们放在一起,是因为在使用C/C++类语言的时候,很容易混淆这几个概念(对Java来说完全没有这样的问题,表示Javaor完全没有压力). 先建立一个测试类(包含.h和.cpp) //~ P ...
- 剑指offer:赋值运算符函数和复制构造函数
赋值运算符函数 对于定义一个赋值运算符函数时,需要注意一下几点: (1)函数的返回类型必须是一个引用,因为只有返回引用,才可以连续赋值 (2)传入的参数声明为常量引用,可以提高代码效率,同时赋值运算函 ...
- 一文说尽C++赋值运算符重载函数(operator=)
写在前面: 关于C++的赋值运算符重载函数(operator=),网络以及各种教材上都有很多介绍,但可惜的是,内容大多雷同且不全面.面对这一局面,在下在整合各种资源及融入个人理解的基础上,整理出一篇较 ...
- PHP中的运算符---算术运算符、逻辑运算符、赋值运算符、比较运算符
1.算术运算符 常见的算术运算符 运算类型 运算符 举例 结果 取反运算 - -$a 返回$a的负值 加法运算 + $a + $b 返回$a与$b的和 减法运算 - $a - $b 返回$a与$b的差 ...
- java中的算术运算符、赋值运算符、比较运算符、逻辑运算符、条件运算符
一.算术运算符 算术运算符主要用于进行基本的算术运算,如加法.减法.乘法.除法等. Java 中常用的算术运算符: 其中,++ 和 -- 既可以出现在操作数的左边,也可以出现在右边,但结果是不同滴 例 ...
- 重载赋值运算符 && 对象
class CMessage { private: char * m_pMessage; public: void showIt()const { cout << m_pMessage & ...
- 30.赋值运算符重载函数[Assign copy constructor]
[问题] 给出如下CMyString的声明,要求为该类型添加赋值运算符函数. C++ Code 1234567891011 class CMyString { public: CMyS ...
- PHP中的赋值运算符
PHP的赋值运算符有两种,分别是: (1)“=”:把右边表达式的值赋给左边的运算数.它将右边表达式值复制一份,交给左边的运算数.换而言之,首先给左边的运算数申请了一块内存,然后把复制的值放到这个内存中 ...
- 赋值运算符、拷贝初始化和this指针
一.赋值运算符和拷贝构造函数(重载技术) 赋值运算符和拷贝构造函数有编译器默认提供,但如果想做更复杂的事,需要重载. 1.下面用一个简单的例子先区分一下赋值运算符和拷贝构造函数: #include&l ...
随机推荐
- bootstrap table 学习记录
效果: html代码: <!-- 工具容器 --> <div id="toolbar" class="btn-group"> <b ...
- [題解](搜索)生日蛋糕(NOI1999)
搜索剪枝, 1.枚舉上下界: 先$R\subset$$(dep,min(\lfloor\sqrt{n-v}\rfloor,lastr-1))$ 后$H\subset$$(dep,min((n-v)/R ...
- .gitkeep--git提交空目录的解决方法
前言 git和 svn不同,仅仅跟踪文件的变动,不跟踪目录.所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的. 只跟踪文件 ...
- map系统学习
映射map又称字典,表,或者查找表,其元素是由key和value两个分量组成的对偶(key,value). key是键,value是与键key相关联的映射值,这样的元素又称“关联”.key和value ...
- UnityVR Steam_VR开发工具插件---VRTK 自带案例分析
- linkedlist--lecture-4
1.链表数据结构 内存利用率高:动态分配 2.链表类定义 单向链表节点 public calss ListNode { int val =0; ListNode next = null; public ...
- xmanger图形化登陆远程服务器
由于网上的资料比较杂,经过本人整理实际操作验证,保证ok 本人的服务器系统为centos5.8 下面的都是centos服务器上的操作,需要简单的配置下: win客户端使用xmanger软件:首先是服 ...
- Js常见算法实现汇总
/*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.length; for(var ...
- 第6章 传输层(详解TCP的三次握手与四次挥手)
第6章 传输层 传输层简介 传输层为网络应用程序提供了一个接口,并且能够对网络传输提供了可选的错误检测.流量控制和验证功能.TCP/IP传输层包含很多有用的协议,能够提供数据在网络传输所需的必要寻址信 ...
- UGUI的事件系统分析
UGUI的源码还是非常清晰的,打开源码可以发现, 从UGUI的源码可知:在EventSystem中调用每一帧函数来实现: private void TickModules() { for (var i ...