欢迎来到天天文库
浏览记录
ID:48031431
大小:286.50 KB
页数:40页
时间:2020-01-13
《C#教材_运算符和类型强制转换.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章运算符和类型强制转换1目标算术运算符其它运算符方式(显式、隐式)装箱与拆箱运算符的转换比较算法的使用运算符重载用户定义的数据类型转换2运算符类别运算符算术运算符+–*/%逻辑运算符与位运算符&
2、 ^ ~ &&
3、
4、 !字符串连接运算符+增量和减量运算符++ ––移位运算符<< >>比较运算符== != <> <= >=赋值运算符= +=–= *= /= %= &=
5、= ^= <<= >>=成员访问运算符(用于对象和结构).索引运算符(用于数组和索引器)[]数据类型转换运算符()条件运算符(三元运算符)?:委托连接和删除运算符+–对象创建运算符
6、new类型信息运算符sizeof(只用于不安全的代码)istypeofas3运算符类别运算符溢出异常控制运算符checkedunchecked间接寻址运算符*–> &(只用于不安全代码)[]命名空间别名限定符::空接合运算符??4运算符(1)&&比&高级,如果一个条件为false,则不计算了,直接返回false,
7、
8、比
9、高级,如果一个为true,则直接返回true,不再计算第二个了。(2)对于整型,^将计算操作数的按位“异或”。对于bool操作数,^将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为true时,结果才为true。对于二进制位
10、,则只有一个为1时才是1。例如:Console.WriteLine(false^false);//返回Console.WriteLine("0x{0:x}",0xf8^0x3f);(3)~运算符对操作数执行按位求反运算,效果相当于反转每一位例如:Console.WriteLine("~0x{0:x8}=0x{1:x8}",v,~v);5运算符(5)左移运算符(<<)将第一个操作数向左移动第二个操作数指定的位数,例如:Console.WriteLine("0x{0:x}",i<<1);(6)>>向右移动,移位操作从不导致溢出。(7)()表示强转换。(8)
11、sizeof在指针中使用,返回字节大小数。(9)checked和unchecked指定是否执行溢出检查(10)如果??运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数,例如:int?x=null;inty=x??-1;6运算符(5)左移运算符(<<)将第一个操作数向左移动第二个操作数指定的位数,例如:Console.WriteLine("0x{0:x}",i<<1);(6)>>向右移动,移位操作从不导致溢出。(7)()表示强转换。(8)sizeof在指针中使用,返回字节大小数。(9)checked和unchecked指定是否执行溢出检查(
12、10)如果??运算符的左操作数非空,该运算符将返回左操作数,否则返回右操作数,例如:int?x=null;inty=x??-1;7运算符的简化操作运算符的简化操作等价于x++,++xx=x+1x––,––xx=x–1x+=yx=x+yx–=yx=x–yx*=yx=x*yx/=yx=x/yx%=yx=x%yx>>=yx=x>>yx<<=yx=x<13、=yx=x14、yx^=yx=x^y8x++与++x的区别intx=5;if(++x==6)//先执行加一再比较{Console.WriteLine("Thiswillexecute");}15、if(x++==7)//先比较再赋值{Console.WriteLine("Thiswon't");}运行结果是"Thiswillexecute",而不会显示"Thiswon't"。9三元运算符intx=1;strings=x.ToString()+"";s+=(x==1?"man":"men");输出1man10is运算符(1)is运算符可以检查对象是否与特定的类型兼容。(2)“兼容”表示对象是该类型,或者派生于该类型inti=10;if(iisobject){Console.WriteLine("iisanobject");}(3)int和从obj16、ect继承而来的其他C#数据类型一样,表达式iisobject将得到true,并显示信息。11as运算符(1)as运算符用于执行引用类型的显式类型转换。(2)如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型不兼容,as运算符就会返回值null。例子://如果object引用不指向string实例,把object引用转换为string就会返回null:objecto1="SomeString";objecto2=5;strings1=o1asstring;//s1="SomeString"strings2=o2asstring;//s1=nu17、llConsole.WriteLine(s1);//as运算符允许直接转换类型。Console
13、=yx=x
14、yx^=yx=x^y8x++与++x的区别intx=5;if(++x==6)//先执行加一再比较{Console.WriteLine("Thiswillexecute");}
15、if(x++==7)//先比较再赋值{Console.WriteLine("Thiswon't");}运行结果是"Thiswillexecute",而不会显示"Thiswon't"。9三元运算符intx=1;strings=x.ToString()+"";s+=(x==1?"man":"men");输出1man10is运算符(1)is运算符可以检查对象是否与特定的类型兼容。(2)“兼容”表示对象是该类型,或者派生于该类型inti=10;if(iisobject){Console.WriteLine("iisanobject");}(3)int和从obj
16、ect继承而来的其他C#数据类型一样,表达式iisobject将得到true,并显示信息。11as运算符(1)as运算符用于执行引用类型的显式类型转换。(2)如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型不兼容,as运算符就会返回值null。例子://如果object引用不指向string实例,把object引用转换为string就会返回null:objecto1="SomeString";objecto2=5;strings1=o1asstring;//s1="SomeString"strings2=o2asstring;//s1=nu
17、llConsole.WriteLine(s1);//as运算符允许直接转换类型。Console
此文档下载收益归作者所有