C#总结

       看完C#视频后,感觉好像东西混了,脑袋里一团糟。很想将C、C++和C#的相关内容仔细比较一下,可又感觉不是那么容易搞明白的。估计需要再看书比较才行。对于与类相关的知识,还处于最初阶段。最想总结的就是基础部分,我感觉其实它不是看书时那么多的一个一个罗列下来的。它有内在规律。

1.类型转换部分:隐式转换总是由低精度向高精度转换,而显式转换则是手工的完成隐式转换不能做到的,是逆向的。这两种方法是互补的。面向对象中是通过convert类实现的。先看一下C#中的最常用的几种数据类型:

       

这张表中所列出的数据类型可以分为四类:整数型、字符型、浮点数型和布尔型。其中布尔型只有bool,字符型只有char,浮点型有三个:decimal,double,float.而整数型有八个,又可分为两类:有符号的和无符号的。sbyte和byte,short和ushort ,int和uint,long和ulong.

我们在看一下隐式转换的种类:

      

我们就以第二个为例来看,sbyte都可以隐式转换为哪些:short,int ,long,float,double,decimal.sbyte是有符号的,有负数部分,所以,所有无符号的类型它都不能实现转换,剩下的就是可以转换的这些了。

显式转换的类型是逆向进行的,隐式不能实现的,显式来实现。比如:sbyte可以转换为byte,ushort,uint,ulong等。

还有convert类可以实现以下转换:

       

2.操作x&&y和x&y有什么不同?

首先一个&和两个&&都是实现逻辑“与”的判断。操作x && y  对应于操作 x & y ,不同的是,如果 x  false,则不计算 y(因为不论 y 为何值,“与”操作的结果都为 false)。 这被称作为“短路”计算。不要小看这点不同。在以下三种场景中有区别的:

      1 if(userName !=null && userName .length>0) 这样的条件只能用&&,而不能用&,因如果用userName !=null false 的话,userName .lengh>0就不会再判断了,但如果换成的就会报错。这种场景下只能使用&&

      2 if(userName!=null && age>0) 这种场景下&&都可以,但&&性能会好一点,因为xfalse ,那么就不会再判断y了。

      3  还有一种场景需要使用,如:silverlight 后台数据验证,当提交后没有通过验证的都需要标记,这种情况下就可以用&

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值