目录
前言
一、结构体的使用
二、结构与类的区别
1.类和结构有以下几个基本的不同点:
2.选择使用情况
总结
前言
在我们开发程序中,功能实现可能没有问题,问题是如何将代码变得更优雅,优化程序运行。本文主要区别结构体与类的区别以及什么情况下使用结构体或类更为适合。
一、结构体的使用
在c#中,我们可以使用struct关键字来声明一个结构体,如:
struct book
{
private int id;
public String name;
private String site;
public void setValue(int id,String name,String site)
{
id = id;
name = name;
site = site;
}
}
上面我们声明了一个名为books的结构体,在结构体中,可带有方法、字段、索引、属性、运算符方法和事件。
使用
public static void Main(string[] args)
{
new book().setValue(1, "cs", "cs");
book b;//声明
b.name = "11111";
Console.WriteLine(b.name);
}
二、结构与类的区别
1.类和结构有以下几个基本的不同点:
-
类是引用类型,结构是值类型。
-
结构不支持继承。
-
结构不能声明默认的构造函数。
-
结构体中声明的字段无法赋予初值,类可以
-
类的对象是存储在堆空间中,结构存储在栈中。
2.选择使用情况
堆空间大,但访问速度较慢,栈空间小,访问速度相对更快。当我们描述一个轻量级对象的时候,结构可提高效率,成本更低。不过假如我们在传值的时候希望传递的是对象的引用地址而不是对象的拷贝,就应该使用类了。
总结
结构是值类型,它在栈中分配空间;而类是引用类型,它在堆中分配空间,栈中保存的只是引用。
所以比较小的数据时可以使用结构体来提升读取速度。而使用场景需要用到引用地址时就使用类。
以上就是如何声明结构体使用,以及什么情况下使用结构体和类的全部内容。