浅析C# 中的类型系统(值类型和引用类型)

作者:袖梨 2022-06-25

今天要写的东西都是书中一些概念性的东西,就当抄笔记,以提问对话的方式将其写出来吧,说不定以后面试能有点谈资~~~

  Q1.C#1系统类型包含哪三点特性?

  A1.C#1类型系统是静态的、显式的和安全的。

  Q2.为什么称为静态类型?

  A2.静态类型是用来描述表达式在编译时的类型,当声明一个类型的变量时,不能将变量指向其它类型的对象。

  Q3.显式类型和隐式类型的区别?

  A3.显式类型和隐式类型只有静态类型中的语言才有意义。显式类型需要显式声明一个变量的类型,而隐式类型则将类型的判断责任推给编译器,但是在编译时期,变量的类型是已知的。

  Q4.值类型和引用类型,分别说下类、结构、数组类型、枚举、委托类型和接口类型属于上述哪一种类型?

  A4.类是引用类型,结构是值类型、数组类型是引用类型、枚举是值类型、委托是引用类型、接口是引用类型。

  Q5.判断下面表述对与错。

  1.结构是轻量级的类。

  2.引用类型保存在堆上,值类型保存在栈上。

  3.对象在C#中默认是以引用传递的。

  A5.上面的三个表述都是错的。

  Q6.C#4中如果要使用动态类型,使用什么关键字?

  A6.dynamic,如dynamic o = "kkk",这个类型判断的责任推给了运行时。

相关文章

精彩推荐