Welcome 微信登录

首页 / 软件开发 / C#

C#的隐式引用转换

C#的隐式引用转换

C#的隐式引用转换2007-09-10 本站 隐式引用转换包括以下几类:●从任何引用类型到对象类型的转换●从类类型s到类类型t的转换,其中s是t的派生类。●从类类型s到接口类型t的转换,其中类s实现了接口t。●从接口类型s到接口类型t的转换,其中t是s的父接口。从元素类型为Ts的数组类型S向元素类型为Tt的数组类型T转换,这种转换需要满足下列条件:●S和T只有元素的数据类型不同,但它们的维数相同。●Ts和Tt都是引用类型。●存在从Ts到Tt的隐式引用转换●...
C#的隐式类型转换

C#的隐式类型转换

C#的隐式类型转换2007-09-10 本站 在C#语言中,一些预定义的数据类型之间存在着预定义的转换。比如,从int类型转换到long类型。C#语言中数据类型的转换可以用分为两类:隐式转换(implicit conversions)和显式转换(explicit conversions)。本章我们将详细介绍这两类转换。6.1 隐式类型转换隐式转换就是默认的、不需要加以声明就可以进行的转换。在隐式转换过程中,编译器无需对转换进行详细检查就能够安全地执行转换。...
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 关系表达式用关系操作符将两个表达式连接起来的式子就是关系表达式。关系表达式的值就是关系操作...
<< 101 102 103 104 105 106 107 108 109 110 >>