基元类型(primitive type):

  编译器直接支持的数据类型称为基元类型(primitive type)。

string 与 String:

  由于C#中的string (一个关键字)直接映射到System.String (一个FCL类型),所以两者没有区别,都可以使用。

  但是在C#中int始终映射在System.Int32,所以不管在 64操作系统还是32位操作系统上,代表的都是32位整数。

在C#中long映射到的是System.Int64,但是在其他编程语言中,long可能映射到Int16或Int32。 例如C++

checked 与 unchecked 基元类型。

是否溢出检查

  

    static void Main(string[] args)
{
Byte b = ;
b = checked((Byte)(b + ));
Console.ReadLine();
}
     static void Main(string[] args)
{
Byte b = ;
b = (Byte)checked((b + ));
Console.ReadLine();
}

引用类型与值类型: 

  CLR支持两种类型:引用类型与值类型:

  1.任何被称为“类”的类型都是引用类型。

  2.文档将所有值类型都称为结构或枚举。

 class SomeRef
{
public Int32 x;
}
struct SomeVal
{
public Int32 x;
} static void ValueTypeDemo()
{
SomeRef r1 = new SomeRef();
SomeVal v1 = new SomeVal(); r1.x = ;
v1.x = ; Console.WriteLine(r1.x);
Console.WriteLine(v1.x);
SomeRef r2 = r1;
SomeVal v2 = v1; r1.x = ;
v1.x = ; Console.WriteLine(v1.x);
Console.WriteLine(v2.x);
}

由上例子可以看出,重新赋值后的 v1 值改变,但是v2值并没有改变。

而 r1,r2 值全部改变,原因在于 r1,r2是引用类型,改变的只是地址的指向,所以当一个地址改变后 另外的地址也跟着指向新的地址。

最新文章

  1. 关于QImage提取单色通道方法(vector)
  2. 转:Delphi 函数大全
  3. Interop with Native Libraries
  4. Windows 8(虚拟机环境)安装.NET Framework3.5(includes .NET 2.0 and 3.0)
  5. UI里的UIActionSheet按钮
  6. Hive Over HBase
  7. 初学JDBC,JDBC工具类的简单封装
  8. 在Ext JS 5应用程序中如何使用路由
  9. mysql中data_format用法
  10. Solr + Hadoop = Big Data Love
  11. Installutil.exe 注册exe
  12. linux C读取数据库
  13. ADO知识的运用二(Day 28)
  14. SSM-SpringMVC-25:SpringMVC异常顶级之自定义异常解析器
  15. Layer 使用
  16. 手把手教你如何使用Cocos2d Console 进行html5项目发布
  17. js里添加的标签
  18. Java 8 Stream API说明
  19. ⑤NuPlayer播放框架之GenericSource源码分析
  20. 《剑指Offer 1.二维数组中的查找》2019-03-25

热门文章

  1. laravel查看sql语句
  2. Linux下查询一个包是32位还是64位
  3. jQuery选择器this通过onclick传入方法以及Jquery中的this与$(this)初探,this传处变量等
  4. tomcat7.0在centos7下中文乱码问题解决汇总
  5. Linux学习笔记 -- 硬链接与软连接(转)
  6. SQL Server专题
  7. Word2Vec之Skip-Gram模型
  8. HTTP及XMLHTTP状态代码一览
  9. DRF之REST规范介绍及View请求流程分析
  10. 玩转angularJs——通过自定义ng-model,不仅仅只是input可以实现双向数据绑定