![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作符和类型转换
黄海几吹夏
这个作者很懒,什么都没留下…
展开
-
1.6.1 操作符
操作符种类种类 操作符 算数运算符 + - * / % 逻辑运算符 & | ^ ! 字符串连接 + 自增,自减 ++ -- Bit shifting << >> 比较 == >= <= > < != 索引 [] 成员访...原创 2019-08-27 15:33:37 · 135 阅读 · 0 评论 -
1.6.2 二进制操作符
我对这里面的内容接触很少,着实不想弄,等心血来潮在说吧。原创 2019-08-27 15:35:12 · 152 阅读 · 0 评论 -
1.6.3 类型安全
因数据类型并不总是可以无缝地互换,本节讨论基本类型之间的转换。类型转换我们来看一个例子,将10和23赋值给byte变量,然后相加,赋值给total,结果会编译错误。是因为相加之后的值不能存储在单个字节上。byte value1 = 10;byte value2 = 23;byte total;total = value1 + value2;Console.WriteLine(...原创 2019-08-27 16:49:26 · 92 阅读 · 0 评论 -
1.6.4 比较对象是否相等(Equals和==)
System.Object定义了三种不同的方法来比较对象是否相等:ReferenceEquals和两个版本的Equals。Equals的两个版本:一个是静态方法。一个是可以重写的虚拟方法,你可以使用接口IEquality<T>,这是定义的泛型类型参数。引用类型的比较ReferenceEquals方法该方法是一个静态方法,它用来测试两个变量是否指向同一个类的实例,特别需要...原创 2019-08-28 09:25:58 · 206 阅读 · 0 评论 -
1.6.5 操作符重载
通过操作符重载我们可以达到我们想要的结果,而不是仅仅使用预定义的操作符的功能。例如,我们想计算一个矩阵:Matrix a, b, c;// assume a, b and c have been initializedMatrix d = c * (a + b);那么我们就不可能使用*的预定义的功能了,必须要对*进行重载来满足我们的需求。操作符是如何工作的要想对操作符进行...原创 2019-08-29 14:35:07 · 163 阅读 · 0 评论 -
1.6.6 实现自定义索引操作符
我们先来看一个数组:int[] arr1 = {1, 2, 3};arr1[1] = 42;int x = arr1[2];我们可以通过索引来获取数组中的值;那么我们可以自定义这些索引。我们先来考虑一下为什么要自定义索引器:如果我们数组中存的是一个类,而不是简单的整数,字符串,那么我们可能需要多个索引,来获取该类。这时我们仅仅通过整数索引是不够的,那么我们就需要更多的数据类型...原创 2019-08-29 15:42:20 · 197 阅读 · 0 评论