美文网首页
C#中结构体和类的区别

C#中结构体和类的区别

作者: Charles陽 | 来源:发表于2018-10-29 22:29 被阅读0次

1.结构体是值类型,类是引用类型

虽然结构体的初始化也使用了new操作符,可是结构体对象依然分配在堆栈上而不是堆上,如果不使用“新建”(new),

那么在初始化所有字段之前,字段将保持未赋值状态,且对象不可用。


2.结构体不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed

类完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承

虽然结构不能被继承,可是结构能够继承接口,方法和类继承接口一样


3.结构:

没有默认的构造函数,但是可以添加构造函数

没有析构函数

没有abstract和sealed(因为不能继承)

不能有protected修饰符

可以不使用new初始化

在结构中初始化实例字段是错误的

类:

有默认的构造函数

有析构函数

可以使用abstract和sealed

有protected修饰符

必须使用new初始化

相关文章

  • 第九章 类和结构体

    c++中,结构体是稍有不同的类,类能做的,结构体也可以; 而swift中,结构体与类有较大区别, 结构体与类的区别...

  • C#中结构体和类的区别

    1.结构体是值类型,类是引用类型 虽然结构体的初始化也使用了new操作符,可是结构体对象依然分配在堆栈上而不是堆上...

  • 结构体和类的一些简单区别

    结构体和类的区别 1.写法区别: 结构体-struct 类-cl...

  • iOS知识点-8.类(class)和结构体(struct)有什么

    Swift Basics 类(class)和结构体(struct)有什么区别? Swift中,类是引用类型,结构体...

  • 结构体

    C# 结构体 struct C#中结构类型和类类型在语法上非常相似,他们都是一种数据结构,都可以包括数据成员和方法...

  • 一些问题(一)

    1. 类(class)和结构体(struct)有什么区别? 在 Swift 中,类是引用类型,结构体是值类型。值类...

  • 最新iOS开发常见面试题总结一!(附答案)

    1.iOS 类(class)和结构体(struct)有什么区别? Swift 中,类是引用类型,结构体是值类型。值...

  • C#结构体定义的详解

    C#结构体定义的情况: C#结构体定义也可以象类一样可以单独定义. class a{}; struct a{}; ...

  • swift基础_结构体和类

    一.结构体和类 结构体张这个样子 类张这个样子 二.结构体和类的区别 针对结构体, 即使你没有定义函数,编译器也会...

  • Swift - 学习

    1.类和结构体的区别 Swift中结构体和类的比较 2.写时拷贝机制 Swift Copy-On-Write 写时...

网友评论

      本文标题:C#中结构体和类的区别

      本文链接:https://www.haomeiwen.com/subject/cnoitqtx.html