C#的内置引用类型

  1. 三个内建类型 object/string/dynamic <=> System.Object/System.String/System.Dynamic
  2. C#程序在运行的时候分为两个阶段,编译,运行。通常的类型检查都在编译阶段,而dynamic强制规定了变量的类型检查在运行阶段。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    namespace 内置引用类型
    {
    class Program
    {
    static void Main(string[] args)
    {
    object o = new object();//声明一个object类型,声明时,object既可以是大写也可以是小写,小写object=System.Object=Object
    var oo = o.GetType();//获得类型
    var ooo = o.ToString();//转为字符串
    Console.WriteLine(oo);//结果:System.Object
    Console.WriteLine(ooo);//结果:System.Object
    }
    }
    }
  3. object是C#语言所有类型的基类,所以所有的类型都有ToString()方法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace object强制转换
{
class Program
{
static void Main(string[] args)
{
string s = "HelloWorld";
string s2 = "Hello";
s2 += "World";
Console.WriteLine(s2);//HelloWorld
Console.WriteLine(s == s2);//结果为true
Console.WriteLine((object)s == (object)s2);//结果为false
//这里字符串做了一个强制类型转换
char c = s[2];
Console.WriteLine(c);//结果为e
string u = "\\\u0066\n";// “\\”代表Unicode中对应“\”,“\u0066”对应“f”,“\n”对应回车
Console.WriteLine(u);//结果为“\f”加回车
}
}
}

推荐文章