------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
一:转义字符
当我们需要在一些字符串中输出一些特殊字符,比如:半角引号,换行,退格。的时候就需要使用转义字符。转义字符是一个字符“\”,它由\加上一个字母来组成具有特殊意义的一个字符。常用的转义字符:\n(换行)、\b(退格)、\r(回车)、\t(Tab键,由多个空格组成的一个字符)、\\(代表着一个\)、\"(代表着一个")
PS:\t代表着多个空格组成的一个字符,并且具有自动对齐多行的功能。
二:@的作用
(1)如果在一个字符串前面加上@,则这个字符串中的“\”不再转义,字符串会原样输出。
(2)@后的字符串可以接受换行。
PS:如果想在前面有@的字符串中输出一个双引号,那么在这个字符串中可以使用两个双引号来表示一个双引号。
三:算数运算符与算数表达式
算数运算符:+、-、*(乘)、/、%(取余数),这几个算数运算符都是二元运算符,要求参与运算的两个操作数必须类型相同,并且结果也是此类型的,在这五个算数运算符中*,/和%的优先级要高于+和-。
算术表达式:用算数运算符连接起来的式子就是算数表达式,在算数表达式中可以使用“()”改变优先级,并且“()”可以无限制的套用。
四:数据类型自动转换(隐式转换)的规则
(1)参与运算的两个操作数的数据类型要能够兼容。
(2)两个操作数的数据类型,必须是一个表示的数据范围大,一个表示的数据范围小,并且数据范围小的数据类型要自动转换成数据范围大的数据类型,并且一定不能丢失精度。
五:double和decimal不能自动转换的原因是什么?
当double类型的转换成decimal类型时违背了范围小的向范围大的数据类型转换的规则;当decimal类型转换成double类型时会丢失精度。
六:强制类型转换
语法:(数据类型)待转换的值
注意:强制类型转换的数据一定要想兼容。
七:int a=Convert.ToInt32("字符串");
作用是将字符串转换成Int类型的,并把转换后的值赋值给int类型的变量a。
string str=Cnovert.ToString(待转换的值);作用是将待转换的值转换成字符串类型的,并将转换后的值赋值给string类型的变量str.
待转换的值.ToString();此方法可以讲任何类型的数据转换成字符串类型的。
八:C#中的异常捕获机制
语法:try
{
//有可能出现错误的代码
}
catch
{
//try中的代码出现错误时的处理代码
}
上面这个程序的执行过程:
如果try中的代码没有出现错误,则程序正常运行try中的内容后,不再执行catch中的内容;如果try中的代码出现错误则会立即执行catch中的代码,不再运行出现错误的代码以下的代码。
九:自增(++)、自减(--)
a++相等于a=a+1;a--相当于a=a-1;
“++”分为前加和后加,对于参与运算的值来说没有差别,所不同的是表达式的值不一样,例如
int a=10;
int b=a++;
b的值是10
int a=10;
int b=++a;
b的值是11
总之,前加表达式的值是为加1后的值,后加表达式的值是原值。
PS:一般情况下,一元运算符的优先级要高于二元运算符的优先级。
十:复合运算符
五个复合运算符:+=、-=、*=、/=、%=。
例子:a+=3相当于a=a+3;a-=3相当于a=a-3;a*=3相当于a=a*3;a/=3相当于a=a/3;a%=3相当于a=a%3。
十一:能够改变变量中的值得运算符
包括:++、--、=以及复合运算符
十二:关系运算符以及关系表达式
关系运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、
关系表达式:用关系运算符组成的式子就是关系表达式,关系表达式的值是bool类型的,bool类型的数据只有两个值,分别为true和false,如果关系表达式成立则结果为true,如果关系表达式不成立则为false.
十二:逻辑运算符以及逻辑表达式
逻辑运算符:||(或)、&&(与)、!(非)。
||与&&是二元运算符,语法为:表达式1 逻辑运算符 表达式2,表达式1和表达式2的值都是bool类型的且整个逻辑表达式的值也是bool类型的,对于||运算符来说,当表达式1和表达式2有一个为true时,那么用||连接起来的表达式就是true,对于&&运算符来说,只有
当表达式1和表达式2都是true时,用&&连接起来的表达式才是true。!是一元运算符,语法为:! (bool类型的表达式),这个逻辑表达式的值也是bool类型的,对于!表达式,如果!之后的表达式是true,则整个表达式的值为取反后的值即false,反之为true。
逻辑表达式:由逻辑运算符连接起来的式子就是逻辑表达式。
十三:||(或)与&&(与)的短路问题
例:int a=10;
int b=5;
bool result=++a>5||++b>6;
Console.WriteLine("a的值是{0},b的值是{1}"啊,b);
输出的结果为:a的值是11,b的值是5
为什么b的值不是6而是5呢?
答:这就是逻辑||的短路问题,因为在result=++a>5||++b>6;这个表达式中我们通过判断得知第一个表达式(++a>5)的值就是true,因此,我们就能判定整个表达式的值是true(对于||表达式,只要有一个表达式的值为true,则整个表达式的值就是true),像这样只通过第一个表达式就能判断出整个表达式的值的||表达式来说就不会再去判断第二个表达式,因此b的值没有做自增运算,还是原来的值。
同理,逻辑&&也存在短路的问题
例:int a=10;
int b=5;
bool result=++a<5&&++b>3;
Console.WriteLine("a的值是{0},b的值是{1}",a,b);
输出结果是:a的值是11,b的值是5
这个表达式也是只通过第一个表达式就得到了整个表达式的值,因此第二个表达式不再做判断。
------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------ 详细请查看:http://edu.csdn.net/heima
808

被折叠的 条评论
为什么被折叠?



