文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C运算符号 2

C运算符号 2

时间:2010-05-25  来源:Jatherina

   
|| 运算符(C# 参考)

条件“或”运算符 (||) 执行 bool 操作数的逻辑“或”运算,但仅在必要时才计算第二个操作数。

备注

操作

复制代码
x || y

对应于操作

复制代码
x | y

不同的是,如果 x 为 true,则不计算 y(因为不论 y 为何值,“或”操作的结果都为 true)。这被称作为“短路”计算。

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

示例

在下面的示例中,请观察使用 || 的表达式只计算第一个操作数。

<< 运算符(C# 参考)

左移运算符 (<<) 将第一个操作数向左移动第二个操作数指定的位数。第二个操作数的类型必须是 int

备注

如果第一个操作数是 intuint(32 位数),则移位数由第二个操作数的低 5 位给出。

如果第一个操作数是 longulong(64 位数),则移位数由第二个操作数的低 6 位给出。

第一个操作数的高序位被放弃,低序空位用 0 填充。移位操作从不导致溢出。

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

示例

复制代码
// cs_operator_left_shift.cs
using System;
class MainClass
{
    static void Main() 
    {
        int i = 1;
        long lg = 1;
        Console.WriteLine("0x{0:x}", i << 1);
        Console.WriteLine("0x{0:x}", i << 33);
        Console.WriteLine("0x{0:x}", lg << 33);
    }
}

输出

0x2
0x2
0x200000000
>> 运算符(C# 参考)

右移运算符 (>>) 将第一个操作数向右移动第二个操作数所指定的位数 备注
如果第一个操作数为 intuint(32 位数),则移位数由第二个操作数的低五位给出(第二个操作数 & 0x1f)。


如果第一个操作数为 longulong(64 位数),则移位数由第二个操作数的低六位给出(第二个操作数 & 0x3f)。


如果第一个操作数为 intlong,则右移位是算术移位(高序空位设置为符号位)。如果第一个操作数为 uintulong 类型,则右移位是逻辑移位(高位填充 0)。


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

== 运算符(C# 参考)

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

!= 运算符(C# 参考)

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

<= 运算符(C# 参考)

所有数值和枚举类型都定义了“小于等于”关系运算符 (<=),如果第一个操作数小于或等于第二个操作数,则该运算符将返回 true,否则返回 false。

>= 运算符(C# 参考)

所有数值类型和枚举类型都定义“大于等于”关系运算符 >=,如果第一个操作数大于或等于第二个操作数,该运算符将返回 true,否则返回 false。

+= 运算符(C# 参考)

加法赋值运算符。

备注

使用 += 赋值运算符的表达式,例如

等效于

x = x + y
同的是 x 只计算一次。+ 运算符的含义取决于 x 和 y 的类型(例如,对于数值操作数,其含义为相加;对于字符串操作数,其含义为串联)。

不能直接重载 += 运算符,但用户定义的类型可以重载 + 运算符

+= 运算符还用于指定响应事件时要调用的方法;这类方法称为事件处理程序。因为事件处理程序封装在委托类型中,所以在此上下文中使用 += 运算符称为“委托串联”。有关更多信息,请参见 event(C# 参考)委托(C# 编程指南)

示例
复制代码
// cs_operator_addition_assignment.cs
using System;
class MainClass
{
    static void Main() 
    {
        //addition
        int a = 5;
        a += 6;
        Console.WriteLine(a);

        //string concatenation
        string s = "Micro";
        s += "soft";
        Console.WriteLine(s);
    }
}
输出
11
Microsoft
-= 运算符(C# 参考)

减法赋值运算符。

备注

使用 -= 赋值运算符的表达式,如

等效于

x = x - y

不同的是 x 只计算一次。- 运算符的含义取决于 x 和 y 的类型(例如,对于数值操作数,其含义为相减;对于委托操作数,其含义为移除)。

不能直接重载 -= 运算符,但用户定义的类型可重载 - 运算符

*= 运算符(C# 参考)

二元乘法赋值运算符。

备注

使用 *= 赋值运算符的表达式,如

x *= y

等效于

x = x * y
x -= y
/= 运算符(C# 参考)

除法赋值运算符。

备注

使用 /= 赋值运算符的表达式,如

等效于

x = x / y
x /= y
%= 运算符(C# 参考)

模块赋值运算符。

备注

使用 %= 赋值运算符的表达式,如

等效于

x = x % y

&= 运算符(C# 参考)

“与”赋值运算符。

备注

使用 &= 赋值运算符的表达式,如

等效于

x = x & y
x &= y
x %= y
|= 运算符(C# 参考)

“或”赋值运算符。

备注

使用 |= 赋值运算符的表达式,例如

等效于

x = x | y
x |= y
^= 运算符(C# 参考)

“异或”赋值运算符。

x ^= y
x = x ^ y
<<= 运算符(C# 参考)

左移赋值运算符。

备注

下列形式的表达式

按如下规则计算:

x = x << y
x <<= y
>>= 运算符(C# 参考)

右移赋值运算符。

备注

下列形式的表达式

按如下规则计算:

x = x >> y
x >>= y
-> 运算符(C# 参考)

-> 运算符将指针取消引用与成员访问组合在一起。

备注

以下形式的表达式

(其中 x 为 T* 类型的指针,y 为 T 的成员)等效于

-> 运算符只能在非托管代码中使用。

不能重载 -> 运算符。

(*x).y
x->y
?? 运算符(C# 参考)

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

备注

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

有关更多信息,请参见可空类型(C# 编程指南)

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载