Welcome 微信登录

首页 / 软件开发 / C#

C#的显式引用转换

C#的显式引用转换

C#的显式引用转换2007-09-10 本站 显式引用转换包括:●从对象到任何引用类型●从类类型S到类类型T,其中S是T的基类。●从基类型S到接口类型T,其中S不是密封类,而且没有实现T。●从接口类型S到类类型T,其中T不是密封类,而且没有实现S。●从接口类型S到接口类型T,其中S不是T的子接口。从元素类型为Ts的数组类型S到元素类型为Tt的数组类型T的转换,这种转换需要满足下列条件:●S和T只有元素的数据类型不同,而维数相同。●Ts和Tt都是引用类型。●...
C#的显式类型转换

C#的显式类型转换

C#的显式类型转换2007-09-10 本站 显式类型转换,又叫强制类型转换。与隐式转换正好相反,显式转换需要用户明确地指定转换的类型。比如下面的例子把一个类型显式转换为类型:long l=5000;int i=(int)l;上一章介绍的拆箱转换就是一种显式转换。这里我们还将讲解以下转换的规则:●显式数值转换●显式枚举转换●显式引用转换显式转换可以发生在表达式的计算过程中。它并不是总能成功,而且常常可能引起信息丢失。显式转换包括所有的隐式转换,也就是说把任...
C#操作符的分类

C#操作符的分类

C#操作符的分类2007-09-10 本站 表达式由操作数和操作符组成。表达式的操作符指出了对操作数的操作。比如操作符有+,-,/,和new;操作数可以是文字、域、当前变量或表达式。依照操作符作用的操作数个数来分,C#中有三种类型的操作符:●一元操作符。一元操作符用于一个操作数。一元操作符又包括前缀操作符和后缀操作符。●二元操作符。二元操作符作用于两位操作数,使用时在操作数中间插入操作符。●三元操作符。C#中仅有一个三元操作符“?:&rdquo...
C#操作符的优先级

C#操作符的优先级

C#操作符的优先级2007-09-10 本站 当一个表达式包含多样操作符时,操作符的优先级控制着单个操作符求值的顺序。例如:表达式x+y*z按照x+(y*z)求值,因为“*”操作符比“+”操作符有更高的优先级。这和数学运算中的先乘除后加减是一致的。表7-1总结了所有操作符从高到低的优先级顺序。表7-1 操作符从高到低的优先级顺序类别操作符初级操作符(x) x.y f(x) a[x] x++ x-- new t...
C#的加法运算

C#的加法运算

C#的加法运算2007-09-10 本站 加法操作符可以用运用于整数类型、实数类型、枚举类型、字符串类型和代表类型。这是通过操作符重载实现的,我们将在第十一章讲述操作符重载的内容,这里我们只需要知道这些操作符可以对不同类型的变量进行运算就可以了。加法操作符实际上定义了以下原型用于整数和浮点数运算:int operator +(int x,int y);uint operator +(uint x,uint y);long operater +(long x...
C#的除法运算

C#的除法运算

C#的除法运算2007-09-10 本站 除法运算的算法规则见表7-5:表7-5:在除法运算过程中,默认的返回值的类型与精度最高的操作数类型相同。比如,5/2的结果为2,而5.0/2结果为2.5。如果两个整数类型的变量相除又不能整除的话,返回的结果是不大于相除之值的最大整数。看下面的例子:程序清单7-3:using System;class Test{ public static void Main(){ Console.WriteLine(5/3); C...
C#赋值操作符和赋值表达式

C#赋值操作符和赋值表达式

C#赋值操作符和赋值表达式2007-09-11 本站 赋值就是给一个变量赋一个新值。C#中提供的赋值表达式有:= += -= *= /= %= &= /= ^= <<= >>=赋值的左操作数必须是一个变量,属性访问器或索引访问器的表达式。C#中可以对变量进行连续赋值,这时赋值操作符是右关联的,这意味着从右向左操作符被分组。例如,形如a=b=c的表达式等价于a=(b=c)。如果赋值操作符两边的操作数类型不一致,那就先要进行类型...
C#的比较运算

C#的比较运算

C#的比较运算2007-09-11 本站 C#中定义的比较操作符有:●==等于●!=不等于●<小于●>大于●<=小于或等于●>=大于或等于整数与实数对于整数类型和实数类型,这六种比较操作符都可以适用。根据IEEE 754标准,比较运算符符合下面的规则:●如果有一个操作数为NaN(空)那么除“!=”之外所有操作符结果为false,“!=”的运算结果为“true”。...
C#的as操作符

C#的as操作符

C#的as操作符2007-09-11 本站 as操作符用于通过引用转换或装箱转换将一个值显式地转换成指定的引用类型。不象显式类型转换,as不会产生任何异常。如果转换不可以进行,那么结果值为null。形如“e as T”的转换,e定是一个表达式且T是一个引用类型。返回值的类型总是T的类型,并且结果总是一个值。比如,当你在程序中写了下面的语句:string s="a" as string虽然,字符型不能转换为字符串类型,程序仍然可以编译...
C#关系操作符和关系表达式

C#关系操作符和关系表达式

C#关系操作符和关系表达式2007-09-11 本站 关系运算实际上逻辑运算的一种,我们可以把它理解为一种“判断”,判断的结果要么是“真”,要么是“假”,也就是说关系表达式的返回值总是布尔值。C#定义关系操作符的优先级低于算术操作符,高于赋值操作符。7.4.1 7.4.2 7.4.3 7.4.4 关系表达式用关系操作符将两个表达式连接起来的式子就是关系表达式。关系表达式的值就是关系操作...
C#的逻辑操作符

C#的逻辑操作符

C#的逻辑操作符2007-09-11 本站 C#语言提供了三种逻辑操作符:●&& 逻辑与●||逻辑或●!逻辑非其中,逻辑与和逻辑或都是二元操作符,要求有两个操作数。而逻辑非为一元操作符,只有一个操作数。它们的操作数都是布尔类型的值或者表达式。操作数为不同的组合时,逻辑操作符的运算结果可以用逻辑运算的“真值表”来表示,见表7-6:表7-6 真值表ab!aa&&ba||btruetruefalsetrue...
C#的逻辑表达式

C#的逻辑表达式

C#的逻辑表达式2007-09-11 本站 用逻辑操作符将关系表达式或布尔表达式连接起来就是逻辑表达式。逻辑表达式的值仍然是一个布尔值。在逻辑表达式的求值过程中,不是所有的逻辑操作符都被执行。有时候,不需要执行所有的操作符,就可以确定逻辑表达式的结果。只有在必须执行下一个逻辑操作符后才能求出逻辑表达式的值时,才继续执行该操作符。这种情况我们称为逻辑表达式的“短路”。假设a是一个布尔值或逻辑表达式,bool-exp是一个逻辑表达式,那...
C#的位操作符

C#的位操作符

C#的位操作符2007-09-11 本站 我们知道,任何信息在计算机中都是以二进制的形式保存的。位操作符就是对数据按二进制进行运算的操作符。C#语言中的位操作符有:● & 与● | 或● ^ 异或● ~ 取补● << 左移● >> 右移其中,取补只有一个操作数,而其它的位操作符都有两个操作数。这些运算都不会产生溢出。位操作符的操作数为整型或者是可以转换为整型的任何其它类型。与运算操作数按二进制进行与运算,运算规则为:0&am...
C#的三元操作符

C#的三元操作符

C#的三元操作符2007-09-11 本站 三元操作符“?:”,有时也称为条件操作符。对条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y,运算结果为y的值。一个条件表达式从不会又计算x,也计算y。条件操作符是向右关联的,也就是说,从左向右分组计算。例如:表达式a?b:c?d:e将按a?b:(C?d:e)形式执行。?:的第二和第三个操作数控制了条件表达式的类型。设x和y...
<< 1 2 3 4 5 6 7 8 9 10 >>