title: C#的内置引用类型
    date: 2019-03-01 00:00:00
    categories:

    • 编程语言
      tags:
    • C#

    1. 三个内建类型 object/string/dynamic <=> System.Object/System.String/System.Dynamic
    2. C#程序在运行的时候分为两个阶段,编译,运行。通常的类型检查都在编译阶段,而dynamic强制规定了变量的类型检查在运行阶段。
    1. namespace 内置引用类型
    2. {
    3. class Program
    4. {
    5. static void Main(string[] args)
    6. {
    7. object o = new object();//声明一个object类型,声明时,object既可以是大写也可以是小写,小写object=System.Object=Object
    8. var oo = o.GetType();//获得类型
    9. var ooo = o.ToString();//转为字符串
    10. Console.WriteLine(oo);//结果:System.Object
    11. Console.WriteLine(ooo);//结果:System.Object
    12. }
    13. }
    14. }
    1. object是C#语言所有类型的基类,所以所有的类型都有ToString()方法。
    1. namespace object强制转换
    2. {
    3. class Program
    4. {
    5. static void Main(string[] args)
    6. {
    7. string s = "HelloWorld";
    8. string s2 = "Hello";
    9. s2 += "World";
    10. Console.WriteLine(s2);//HelloWorld
    11. Console.WriteLine(s == s2);//结果为true
    12. Console.WriteLine((object)s == (object)s2);//结果为false
    13. //这里字符串做了一个强制类型转换
    14. char c = s[2];
    15. Console.WriteLine(c);//结果为e
    16. string u = "\\\u0066\n";// “\\”代表Unicode中对应“\”,“\u0066”对应“f”,“\n”对应回车
    17. Console.WriteLine(u);//结果为“\f”加回车
    18. }
    19. }
    20. }