摘要:
让我们快速看看object关键字先。我不会对它讲太多,因为它在C#1.0就已经有了。这个关键字没有更多东西除了作为System.Object的快捷方式,System.Object是C#类层次的根类型。(然而,正如Eric Lippert在他博客中指出,并非一切类型都继承源于object[中][英])这是一个强大的机制,这样你几乎可以分配任何实例值到此类型。这是个小例子用来演示使用object关键字的好处和问题。object obj = 10;Console.WriteLine(obj.GetType());// 输出 System.Int32 因为// 这是这个对象里存储的值的类型。// 一个 阅读全文
摘要:
让我们快速看看object关键字先。我不会对它讲太多,因为它在C#1.0就已经有了。这个关键字没有更多东西除了作为System.Object的快捷方式,System.Object是C#类层次的根类型。(然而,正如Eric Lippert在他博客中指出,并非一切类型都继承源于object[中][英])这是一个强大的机制,这样你几乎可以分配任何实例值到此类型。这是个小例子用来演示使用object关键字的好处和问题。object obj = 10;Console.WriteLine(obj.GetType());// 输出 System.Int32 因为// 这是这个对象里存储的值的类型。// 一个 阅读全文
摘要:
静态类型语言是指在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型,某些具有类型推导能力的现代语言可能能够部分减轻这个要求.动态类型语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。强类型语言是一旦变量的类型被确定,就不能转化的语言。实际上所谓的貌似转化,都是通过中间变量来达到,原本的变量的类型肯定是没有变化的。弱类型语言则反之,一个变量的类型是由其应用上下文确定的。比如语言直接支持字符串和整数可以直接用 + 号搞定。当然,在支持运算符重载的强类型语言中也能通过外部实现的方式在形式上做到这一点,不过这个是完 阅读全文