类型转换
在day02中讲解了强制类型转换和自动类型转换<br>这两种转换有个前提,就是要转换的两种类型相<br>兼容,那么如果类型不兼容例如将字符串"123"转<br>换为int类型,该怎么办?
解决
<span style="font-size: 13.3333px;">使用一个名为Convert的转换工厂进行转换</span>
代码<br>
<span style="font-size: 13.3333px;">string s = "123";</span><div style="font-size: 13.3333px;">int n = Convert.ToInt32(s);</div><div style="font-size: 13.3333px;">double d = Convert.ToDouble(s);</div>
注意
使用convert进行转换时也要满足一个条件:<br>面上必需过得去,即不能将一个"abc"字符串<br>转换成int,否则抛出异常。
使用
一般使用如下简洁形式: double d = Convert.ToDouble(Console.ReadLine());
++和--
1、无论++和--在什么位置,变量最后的结果都会被增或者减1
<span style="font-size: 13.3333px;">2、当++和--配合变量作为一个独立语句时,与上面没有区别如n++;n--;</span>
3、当++和--配合变量走位表达式成为一条语句的一部分时
规则
前置++/--
自增减,++/--表达式的值为计算后的值,后参与整体运算
后置++/--
++/--表达式的值为原值,自增减,后参与整体运算
举例
<div>int n = 10;</div><div>int num = 10 + n++;</div>
结论num=20
相当于:<span style="font-size: 13.3333px;">int num = 10 + n;</span><span style="font-size: 13.3333px;">n++;</span>
<div style="font-size: 13.3333px;">int n = 10;</div><div style="font-size: 13.3333px;">int num = 10 + ++n;</div>
结论num=21
相当于:<span style="font-size: 13.3333px;">n++;</span><span style="font-size: 13.3333px;">int num = 10 + n</span><span style="font-size: 13.3333px;">;</span>
4、复合赋值运算符:+=,-=,*=,/=,%=,均为二元运算符,不是一元运算符
5、++/--这样的一元运算符优先级高于二元运算符+,-,*,/,%等
关系运算符和逻辑运算符
关系运算符
在c#中一共六种关系运算符>,>=,<,<=,==,!=
关系运算符两端参与运算的值可以为任意数据类型,如string,int,char等。<br>但两端类型必需兼容,即不能拿一个string和一个int做关系比较
关系运算符的结果是bool值
bool值
只有两个值,true和false,用来表示真和假,对和错,成立或不成立
逻辑运算符
在c#中有三种逻辑运算符&&,||,!
逻辑运算符两端或者一端参与运算的值为bool值,或者结果为bool值的关系表达式
逻辑运算符的结果为bool值
逻辑&&的优先级高于逻辑||,在同一表达式中,先计算&&,后计算||
位运算
&运算
<span class="mt-sentence" style="font-size: 13.3333px;">对于整型,& 计算操作数的逻辑按位“与”</span>
同时支持逻辑运算
<span style="font-size: 13.3333px;">没有断路功能</span>
|运算
<span class="mt-sentence" style="font-size: 13.3333px;">对于整型,</span><span style="font-size: 13.3333px;"> </span><span class="input" style="font-size: 13.3333px;">|</span><span style="font-size: 13.3333px;"> </span><span class="mt-sentence" style="font-size: 13.3333px;">计算操作数的按位“或”</span>
同时支持逻辑运算
<span style="font-size: 13.3333px;">没有断路功能</span>
^运算
<span class="mt-sentence">对于整型,<span class="input">^</span>
将计算操作数的按位“异或”</span>
同时支持逻辑运算
~运算
<p><span class="mt-sentence"><span class="input">~</span>运算符对操作数执行按位求补运算,其效果相当于反转每一位。适用于<br>int,uint,long,ulong</span></p>
<<运算
向左移位,右边移出的空位补零
<<运算
<span class="mt-sentence">向右移位。</span> <span class="mt-sentence">如果左操作数是 <span class="input">int</span> 或 <span class="input">long</span>,则左位数补符号位。</span> <span class="mt-sentence">如果左操作数是
<span class="input">uint</span> 或 <span class="input">ulong</span>,则左位数补零</span>
VS2015技巧
1、项目名称起好以后不要进行修改,否则会发现项目名虽然修改了<br> 但命名空间没有被修改,后期项目之间相互调用时会出现问题
2、项目的名称不要起int,console.writeline()这样的名字,否则在代码中Int等会无法使用
3、大括号很多,如何知道哪个是结尾?最后一行代码后面应该有三个大括号,函数一个,类一个,命名空间一个