C# 结构(很少能用到)

简介: 结构示例 public struct Person{ string Name; int height; int weight public booloverWeight() { //implement something }} 类示例 public class TestTime{

结构示例

public struct Person
{
    string Name;
    int  height;
    int  weight
    
    public booloverWeight()
    {
       //implement something
    }
}

类示例

public class TestTime
{
    int hours;
    int minutes;
    int seconds;
    
    public void passtime()
    {
       //implementation of behavior
    }
}

调用过程

public class Test
{
    public static ovid Main
    {
       Person Myperson=new Person      //声明结构
       TestTime Mytime=New TestTime    //声明类
    }
}

从上面的例子中我们可以看到,类的声明和结构的声明非常类似,只是限定符后面是 struct还是 class的区别,而且使用时,定义新的结构和定义新的类的方法也非常类似。那么类和结构的具体区别是什么呢?

结构可以看作是轻量级的类,在性能上要好一点。

相同之处:

·        结构和类对于程序来讲都通过指针操作,同样是面向对象的形式。

不同之处:

·        结构体对象总是在线程堆栈上操作,而不是托管堆上。

·        不能继承一个结构体(所以在调用结构体的方法时不需要查找 vtable: 虚函数继承表)

·        我们不能声明构造函数为空的结构体

·        结构体的构造函数内必须初始化所有变量

·        结构体的字段不能有默认值(默认都是二进制意义上的零值),但是可以在构造函数内改变“默认值”

小结:结构可用于表示相互联系的数据。可以通过句点字符访问结构的数据成员。
相关文章
C#的基本语法结构学习案例详解
C#的基本语法结构学习案例详解
66 0
|
8月前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
89 0
C#基础Ⅱ-注释、快捷键、结构
C#基础Ⅱ-注释、快捷键、结构
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
109 0
|
程序员 编译器 C#
C#OOP之三 控制结构
C#OOP之三 控制结构
76 0
C#视频-三大结构
C#视频-三大结构
57 0
C#基础⑤——三大结构(顺序、分支、循环)
顾名思义,就是按照所写代码的书写顺序、从上到下的顺序来执行。
|
存储 设计模式 缓存
C# 实现 key-value 结构自定义缓存 CustomCache
C# 实现 key-value 结构自定义缓存 CustomCache
194 1
C# 实现 key-value 结构自定义缓存 CustomCache
|
存储 开发框架 安全
【C#本质论 九】值类型-结构之力
【C#本质论 九】值类型-结构之力
105 0
|
存储 XML 编译器
【C#基础】C# 程序通用结构
编程语言C# 程序结构的介绍 。
244 0
【C#基础】C# 程序通用结构