C# 操作符学习的一些总结

开发 后端
C# 操作符学习的一些总结主要向你介绍了在C# 操作符学习中的一些总结,C# 操作符的分类及用法方面的知识。

C# 操作符学习的一些总结:C# 操作符都有什么分类呢?C# 操作符的各自的用法是什么呢?让我们开始我们的讲解:

算术: + - * / %

逻辑: & | ^ ~ && || !

字符串连接: +

自加, 自减:  ++ --

移位:<< >>

比较: == != < ><= >=

赋值: = += -= *= /= %= &= |= ^= <<= >>=

取指: []

类型: sizeof is typeof as

溢出异常: checked unchecked

Null coalescing operator: ??

◆C# 操作符之is

检查当前的对象是否兼容要检查的类型,即是否是这个类型或是否继承自这个类型

  1. int i = 10;  
  2. if (i is object)  
  3. {  
  4. Console.WriteLine(“i is an object”);  

◆C# 操作符之as

显式类型转化,如果类型不兼容,将返回null

  1. object o1 = “Some String”;  
  2. object o2 = 5;  
  3. string s1 = o1 as string// s1 = “Some String”  
  4. string s2 = o2 as string// s2 = null 

typeof

返回System.Type类型

◆C# 操作符之Nullable Types and Operators:?

在C#里一个值类型的变量不可能是Null的,他包含了一个值类型的类型本身。这就是为什么我们管值类型叫做值类型。
但是很多情况下会有问题。可以定义一个列的数据类型是32bit的整型数而对应FCL中的Int32类型。但是,这一列在数
据库中暗示着可能为空,就意味着这一列的数据为空是可以接受的。但是使用.NET Framework 来操作数据库中的数据
是很困难的因为CLR不允许int32 的值为空的这一种表现形式。
为了改进这个形式,微软增加了一个Nullable类型的变量在CLR中。

  1. Int32? a = 5;  
  2. Int32? b = null;  
  3. Int32? c = (Int32)a;  
  4. Double? d = 5;  
  5. Double? e = b;  
  6. a++;//a = 6  
  7. b = -b;//b = null  
  8. a = a + 3; // a = 9  
  9. b = b * 3; // b = null; 

对于(+ ++ = == ! ~) 一元的 如果开始null,结果还是null

(+ ++ = == ! ~) 一元的 如果开始null,结果还是null

(+ - * / % & | ^ << >>) 二元的,一个是null,另一个也是null

( == !=). =运算符,如果操作数都是null的话,那么他们相等。如果一个是null,那么不想等。如果都不是null,那么比较数值大小再返回是否相等。

(< > <= >=)比较运算符,如果一个是null,返回false。如果都不是null,那么比较数值大小。再返回。

◆C# 操作符之??

需要两个操作数。如果左面的操作数不为null,那么返回左面的操作数。如果左边的操作符为空的话,那么返回右边的操作符.

??操作很方便,可以用来设置变量的初始值。

  1. Int32? b = null;  
  2.  
  3. Int32? x = b ?? 123; 

C# 操作符学习的一些总结就向你介绍到这里,希望对你了解和学习C# 操作符有所帮助。

【编辑推荐】

  1. C#操作注册表之写入操作浅析
  2. C#操作注册表之删除操作浅析
  3. C#操作注册表之判断指定操作浅析
  4. C#操作注册表常用方法详解
  5. C#操作Access数据库之SELECT操作浅析
责任编辑:仲衡 来源: CSDN博客
相关推荐

2009-08-18 17:20:17

C#操作符重载

2009-08-12 11:20:51

C#运算符重载

2009-08-18 18:06:54

C#操作符重载

2009-08-19 17:13:15

C# 操作符基础知识

2009-08-19 17:26:28

C# 操作符

2009-08-18 17:55:20

C#操作符重载

2009-08-19 17:20:22

C# 操作符

2009-08-18 17:34:25

C#操作符重载应用

2009-08-21 09:30:05

is和as操作符

2009-08-19 17:38:17

C# 操作符分类

2009-08-18 17:42:12

C#操作符重载

2009-08-21 09:57:08

C#操作符IS与AS

2009-08-19 17:33:35

C# 操作符

2009-08-13 16:41:12

C#结构

2024-05-13 00:00:00

C#操作符代码

2009-08-14 10:16:57

C#运算符重载

2010-01-28 11:16:28

C++操作符

2013-12-24 14:50:39

Ember.js框架

2010-01-27 11:00:17

C++操作符

2009-07-30 18:49:31

C#时间类型
点赞
收藏

51CTO技术栈公众号