zoukankan      html  css  js  c++  java
  • 【c# 学习笔记】类与结构体的区别

      由于类与结构体在语法和使用上都非常类似,导致我们这些初学者容易混淆。为更好理解,特做以下区分记录:

      ① 语法上的区别在于,定义类要使用关键词class,而定义结构体则使用关键词struct。

      ② 结构体中不可对声明字段进行初始化,但类可以。

      ③ 如果没有为类显式地定义构造函数,c#编译器会自动生成一个无参数的实例构造函数,称之为隐式构造函数;

       与此不同的是,在结构体中,无论你是否显式地定义了构造函数,隐式构造函数都是一直存在的。

      ④ 结构体中不能显式地定义无参数的构造函数,这也说明无参构造函数是一直存在的,所以不能在显式地为结

        构体添加一个无参的构造函数;而类中则可以显式地定义一个无参数的构造函数。

      ⑤ 在结构体的构造函数中,必须要为结构体中的所有字段赋值。

      ⑥ 创建结构体对象可以不适应new关键字,但此时结构体对象中的字段是没有初始化值的,而类必须适应new

        关键词来创建对象。

      ⑦ 结构体不能继承结构或者类,但可以实现接口;而类可以继承类但不能继承结构,它也可以实现接口。

      ⑧ 类是引用类型,而结构体是值类型。

      ⑨ 结构体不能定义析构函数,而类可以有析构函数。

      ⑩ 不能用abstract和sealed关键字修饰结构体,而类可以。

  • 相关阅读:
    hdu2302(枚举,大数取模)
    hdu2108(判断凸多边形)
    Codeforces Round #324 (Div. 2) C (二分)
    hdu1798(圆的位置关系)
    hdu1722(gcd)
    alias命令(使用命令别名)
    关于Linux环境变量
    poj1988(并查集)
    Linux基本命令
    Pandas数据规整
  • 原文地址:https://www.cnblogs.com/xiaoyehack/p/9208802.html
Copyright © 2011-2022 走看看