当前位置:  编程技术>.net/c#/asp.net

C#运算符大全_各种运算符号的概述及作用

    来源: 互联网  发布时间:2014-10-24

    本文导语:  一、[]方括号 ([]) 用于数组、索引器和属性,也可用于指针。 1、数组类型是一种后跟 [] 的类型:int[] fib = new int[100]; //创建一个有100元素的数组若要访问数组的一个元素,则用方括号括起所需元素的索引:fib[0] = fib[1] = 1;for( int...

一、[]
方括号 ([]) 用于数组、索引器和属性,也可用于指针。

1、数组类型是一种后跟 [] 的类型:
int[] fib = new int[100]; //创建一个有100元素的数组
若要访问数组的一个元素,则用方括号括起所需元素的索引:
fib[0] = fib[1] = 1;
for( int i=2; i 1.1);
    }
}

十八、?:
条件运算符 (?:) 根据布尔型表达式的值返回两个值中的一个。条件运算符的格式如下
condition ? first_expression : second_expression;

备注:
如果条件为 true,则计算第一表达式并以它的计算结果为准;如果为 false,则计算第二表达式并以它的计算结果为准。只计算两个表达式中的一个。

使用条件运算符,可以更简洁、雅观地表达那些否则可能要求 if-else 结构的计算。例如,为在sin 函数的计算中避免被零除,可编写为
if(x != 0.0) s = Math.Sin(x)/x; else s = 1.0;
或使用条件运算符,
s = x != 0.0 ? Math.Sin(x)/x : 1.0;

十九、++
增量运算符 (++) 将操作数加 1。增量运算符可以出现在操作数之前或之后:

备注:
第一种形式是前缀增量操作。该操作的结果是操作数加 1 之后的值。
第二种形式是后缀增量操作。该运算的结果是操作数增加之前的值。
数值类型和枚举类型具有预定义的增量运算符。用户定义的类型可重载 ++ 运算符。在枚举时通常允许整型运算。

二十、--
减量运算符 (--) 将操作数减 1。减量运算符可以出现在操作数之前或之后:--variable 和variable--。第一种形式是前缀减量操作。该运算的结果是操作数减小“之后”的值。第二种形式是后缀减量操作。该运算的结果是操作数减小“之前”的值。

备注:
数值类型和枚举类型具有预定义的增量运算符。
用户定义的类型可重载 -- 运算符(请参见运算符)。在枚举时通常允许整型运算。

二十一、&&
条件“与”运算符 (&&) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。
备注:
操作
x && y
对应于操作
x & y
不同的是,如果 x 为 false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为false)。这被称作为“短路”计算。

不能重载条件“与”运算符,但常规逻辑运算符和运算符 true 与 false 的重载,在某些限制条件下也被视为条件逻辑运算符的重载。

二十二、||
条件“或”运算符 (||) 执行 bool 操作数的逻辑“或”运算,但仅在必要时才计算第二个操作数。
备注:
操作
x || y
对应于操作
x | y
不同的是,如果 x 为 true,则不计算 y(因为不论 y 为何值,“或”操作的结果都为true)。这被称作为“短路”计算。

不能重载条件“或”运算符,但规则逻辑运算符和运算符 true 与 false 的重载,在某些限制条件下也被视为条件逻辑运算符的重载。

二十三、> 运算符;第一个操作数的类型必须为用户定义的类型,第二个操作数的类型必须为 int。有关更多信息,请参见 operator。重载二元运算符时,也会隐式重载相应的赋值运算符(如果有)。

二十五、==
对于预定义的值类型,如果操作数的值相等,则相等运算符 (==) 返回 true,否则返回 false。对于 string 以外的引用类型,如果两个操作数引用同一个对象,则 == 返回 true。对于string 类型,== 比较字符串的值。

备注:
用户定义的值类型可重载 == 运算符(请参见 operator)。用户定义的引用类型也可重载 == 运算符,尽管在默认情况下,无论对于预定义的引用类型还是用户定义的引用类型,== 的行为都与上面描述的相同。如果重载 ==,则还必须重载 !=。在枚举时通常允许整型运算。

二十六、!=
如果操作数相等,则不等运算符 (!=) 返回 false,否则,返回 true。为所有类型(包括字符串和对象)预定义了不等运算符。用户定义的类型可重载 != 运算符。

备注:
对于预定义的值类型,如果操作数的值不同,则不等运算符 (!=) 返回 true,否则,返回false。对于 string 以外的引用类型,如果两个操作数引用不同的对象,则 != 返回 true。对于 string 类型,!= 比较字符串的值。

用户定义的值类型可重载 != 运算符(请参见 operator)。用户定义的引用类型也可重载 != 运算符,尽管在默认情况下,无论对于预定义的引用类型还是用户定义的引用类型,!= 的行为都与上面描述的相同。如果重载 !=,则还必须重载 ==。在枚举时通常允许整型运算。

二十七、=,如果第一个操作数大于或等于第二个操作数,该运算符将返回 true,否则返回 false。

二十九、+=
加法赋值运算符。
备注:
使用 += 赋值运算符的表达式,例如
x += y
等效于
x = x + y
不同的是 x 只计算一次。+ 运算符的含义取决于 x 和 y 的类型(例如,对于数值操作数,其含义为相加;对于字符串操作数,其含义为串联)。

不能直接重载 += 运算符,但用户定义的类型可以重载 + 运算符(请参见 operator)。

三十、-=
减法赋值运算符。
备注:
使用 -= 赋值运算符的表达式,如
x -= y
等效于
x = x - y
不同的是 x 只计算一次。- 运算符的含义取决于 x 和 y 的类型(例如,对于数值操作数,其含义为相减;对于委托操作数,其含义为移除)。

不能直接重载 -= 运算符,但用户定义的类型可重载 - 运算符(请参见 operator)。

三十一、*=
二元乘法赋值运算符。
备注:
使用 *= 赋值运算符的表达式,如
x *= y
等效于
x = x * y
不同的是 x 只计算一次。为数值类型预定义了 * 运算符以执行乘法操作。
不能直接重载 *= 运算符,但用户定义的类型可重载 * 运算符(请参见 operator)。

三十二、/=
除法赋值运算符。
备注:
使用 /= 赋值运算符的表达式,如
x /= y
等效于
x = x / y
不同的是 x 只计算一次。为数值类型预定义了 / 运算符以执行除法操作。
不能直接重载 /= 运算符,但用户定义的类型可重载 / 运算符(请参见 operator)。对于所有复合赋值运算符,隐式重载二元运算符会重载等效的复合赋值。

三十三、%=
模块赋值运算符。
备注:
使用 %= 赋值运算符的表达式,如
x %= y
等效于
x = x % y
不同的是 x 只计算一次。为数值类型预定义了 % 运算符,以计算相除后的余数。
不能直接重载 %= 运算符,但用户定义的类型可重载 % 运算符(请参见运算符(C# 参考))。

三十四、&=
“与”赋值运算符。
备注:
使用 &= 赋值运算符的表达式,如
x &= y
等效于
x = x & y
不同的是 x 只计算一次。& 运算符对整数操作数执行按位逻辑“与”运算,对 bool 操作数执行逻辑“与”运算。
不能直接重载 &= 运算符,但用户定义的类型可重载二元 & 运算符(请参见 operator)。

三十五、|=
“或”赋值运算符。
备注:
使用 |= 赋值运算符的表达式,例如
x |= y
等效于
x = x | y
不同的是 x 只计算一次。| 运算符对整型操作数执行按位逻辑“或”运算,对布尔操作数执行逻辑“或”运算。
不能直接重载 |= 运算符,但用户定义的类型可以重载 | 运算符(请参见 operator)。

三十六、^=
“异或”赋值运算符。
备注:
下列形式的表达式
x ^= y
按如下规则计算:
x = x ^ y
不同的是 x 只计算一次。^ 运算符对整数操作数执行按位“异或”运算,对 bool 操作数执行逻辑“异或”运算。
不能直接重载 ^= 运算符,但用户定义的类型可重载 ! 运算符(请参见 operator)。

三十七、>= 运算符,但用户定义的类型可重载 >> 运算符(请参见 operator)。

三十九、->
-> 运算符将指针取消引用与成员访问组合在一起。
备注:
以下形式的表达式
x->y
(其中 x 为 T* 类型的指针,y 为 T 的成员)等效于
(*x).y
-> 运算符只能在非托管代码中使用。
不能重载 -> 运算符。

四十、??
如果 ?? 运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数。

备注:
可空类型可以包含值,或者可以是未定义的。?? 运算符定义当可空类型分配给非可空类型时返回的默认值。如果在将可空类型分配给非可空类型时不使用 ?? 运算符,将生成编译时错误。如果使用强制转换,并且当前未定义可空类型,将发生 InvalidOperationException 异常。


    
 
 

您可能感兴趣的文章:

  • python的三目运算符和not in运算符使用示例
  • Java中的位运算符、移位运算详细介绍
  • c# 空合并运算符“??”的使用详解
  • C++中不能被重载的运算符介绍
  • C++中的异或运算符^的使用方法
  • 位运算符有什么用?
  • String的+是不是像c++一样重载运算符?
  • Java 能否实现类似于重载运算符的功能?
  • 如何能将字符串转换成数学运算符
  • C# null 合并运算符??(双问号)使用示例
  • SQLSERVER对索引的利用及非SARG运算符认识
  • c++ *运算符重载
  • 在g++中new运算符操作失败,返回NULL,遇见过的请进来一下.
  • 有关按位运算符>>>的问题。
  • C++按位异或运算符的使用介绍
  • 对“.”运算符的困惑
  • 运算符<<的问题
  • c#的异或运算符介绍
  • Java用三元运算符判断奇数和偶数的简单实现
  • C#中38个常用运算符的优先级的划分和理解
  • C#学习笔记之运算符重载
  • c#入门之分支语句使用方法(三元运算符、if语句、switch语句)
  • C# 基础之运算符
  • C#基础:Equals()与运算符==的区别分析
  • C#运算符之与,或,异或及移位运算小结
  • C#重载运算符详解
  • C#中的除法运算符与VB.NET中的除法运算符
  • C# 位运算符整理
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python3基础之基本运算符概述
  • GDB调试C++程序时如何使程序在运算符重载函数处停止
  • C++重载运算符的规则详解
  • sql语句中AND & OR 运算符用法
  • 详细介绍Python语言中的按位运算符
  • c++作用域运算符用法(全局变量和局部变量)
  • java中的移位运算符心得总结
  • python基础教程之常用运算符
  • Java运算符>、>>、>>>三者的区别
  • python三元运算符实现方法
  • java代码之谜运算符篇
  • sql集合运算符使用方法
  • Java instanceof 运算符的使用方法
  • c++运算符重载基础知识详解
  • C语言 解决不用+、-、×、÷数字运算符做加法的实现方法
  • 解析C++中不能重载为友元函数的四个运算符
  • C++运算符重载的方法详细解析
  • 基于运算符重载的那些事
  • 被遗忘的SQLServer比较运算符谓词
  • except与intersect运算符的区别分析与实例
  • 浅析被遗忘的SQLServer比较运算符修饰词


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3