• C#语言类型


    讨论

    所有类型在,值类型,引用类型用new创建,值类型由编译器自动补全

    int等引用类型是轻量化结构更像是结构体

    值类型在栈中,引用类型在堆中

    所有类型由类派生,可以说每个是对象,也可以不是

    由于.NET Framework中的所有类都是从Object派生的,因此Object类中定义的每个方法都可用于系统中的所有对象。派生类可以并重写其中的一些方法。


     

    由于C#没有单独的一组基本类型和对象类型。

    争论

    哲学

    何为对象???什么是对象?:)我认为这就像一套数学。什么是“一切”? -  Mehrdad Afshari 09年4月24日在13:24

    wiki

    一些面向对象的编程语言区分了引用类型和值类型,在运行效率和语法或语义问题等原因下,通常将这些类型称为不存在复杂值类型的平台上的对象和非对象。

    Some object-oriented programming languages make a distinction between reference and value types, often referred to as objects and non-objects on platforms where complex value types don't exist, for reasons such as runtime efficiency and syntax or semantic issues. 

    个人观点

    个人认为c#里的预置类型,不是基本类型,可以自己diy的。int这种是受限的类,类似于结构体。对象是不受限的类。

    参考

    https://msdn.microsoft.com/en-us/library/system.int32%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

    https://baike.baidu.com/item/%E5%85%AC%E5%85%B1%E8%AF%AD%E8%A8%80%E8%BF%90%E8%A1%8C%E6%97%B6/4361434?fr=aladdin

    https://en.wikipedia.org/wiki/Object_type_(object-oriented_programming)

  • 相关阅读:
    10-02 青蛙跳台阶(斐波那契数列的应用)
    10-01 斐波那契数列
    08 二叉树的下一个节点
    07 重建二叉树
    Java中如何调用静态方法
    Java中如何调用静态方法
    Java方法调用数组,是否改变原数组元素的总结
    Java方法调用数组,是否改变原数组元素的总结
    JAVA中,一个类中,方法加不加static的区别,
    JAVA中,一个类中,方法加不加static的区别,
  • 原文地址:https://www.cnblogs.com/fengmao31/p/13880185.html
Copyright © 2020-2023  润新知