类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。
例如,将 Point 定义为结构而不是类在运行时可以节省很多内存空间。下面的程序创建并初始化一个 100 点的数组。对于作为类实现的 Point,出现了 101 个实例对象,因为数组需要一个,它的 100 个元素每个都需要一个。
class Point
{
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
class Test
{
static void Main() {
Point[] points = new Point[100];
for (int i = 0; i < 100; i++)
points[i] = new Point(i, i*i);
}
}
如果将 Point 改为作为结构实现,如
struct Point
{
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
则只出现一个实例对象(用于数组的对象)。Point 实例在数组中内联分配。此优化可能会被误用。使用结构而不是类还会使应用程序运行得更慢或占用更多的内存,因为将结构实例作为值参数传递会导致创建结构的副本。
分享到:
相关推荐
根据提供的文件信息,以下是关于“C#语言规范5.0中文版(目录版)”的知识点: 1. C#语言规范概述: C#(读作“看井”)是一种由微软开发的面向对象的编程语言,最初与.NET框架一起发布。C#语言规范是这种语言的...
C#语言规范5.0中文版涵盖了C#编程语言的核心规则、结构和用法。C#是由微软开发的一种面向对象的编程语言,用于构建多种应用程序,包括Windows桌面应用程序、服务、驱动程序、游戏和移动应用等。C#语言规范详细描述了...
这份《C#语言规范4.0中文版》详细阐述了C#的语法、语义以及编程模型,是开发者深入理解C#语言的权威参考。 C# 4.0的关键特性包括: 1. **动态类型(Dynamic Type)**:引入了`dynamic`关键字,允许在运行时进行...
这份“C#语言规范word新”文档,正如其标题所言,可能是C#语言规范的最新Word版本,方便用户进行查阅、注释和修改,对于学习和理解C#语法以及编程实践非常有帮助。 在C#语言规范中,主要涵盖以下几个核心知识点: ...
C#语言规范是一份详细描述C#语言的官方文档,这份文档旨在为使用C#语言的开发者提供一套准确的编程规范,它详细说明了语言的各个组成部分,包括语法、关键字、类型、表达式、语句、类和对象、结构、数组、接口、枚举...
C#语言规范1.0是C#编程语言的基础文档,它定义了C# 1.0版本的核心语法和语义。该规范基于ISO/IEC 32270:2003和ECMA-334(第2版 - 2002年12月)标准,为开发者提供了关于如何编写符合C#语言规则的代码的详细指南。 ...
这份由Microsoft官方发布的C#语言规范详细阐述了该语言的语法、语义以及编程模型,是开发者学习和理解C#的权威参考。 1. **异步编程**:C# 5.0最大的亮点之一就是引入了`async`和`await`关键字,使得异步编程变得...
标签进一步明确了压缩包的内容,"C#语言规范"是核心主题,"C#语言规范PDF"和"C#语言规范CHM"分别对应文档的两种格式。 在压缩包内的文件名称列表中,"CSharp语言规范.chm"可能是C#语言规范的CHM版本,而"C#语言规范...
### C#语言规范(5.0版)关键知识点解析 #### 一、介绍 C#是一种面向对象的编程语言,由微软开发并推广。自1999年首次发布以来,C#已经成为.NET框架中最主要的语言之一。C# 5.0版进一步增强了语言的功能性和实用性...
根据给定的文件信息,以下是对C#语言规范的一些关键知识点的详细解释: ### C#语言规范概述 C#(发音为“C Sharp”)是由微软开发的一种面向对象的编程语言,它结合了多种语言的优点,并针对.NET平台进行了优化。...
《C#语言规范(中文CHM)》是一本详尽阐述C#编程语言规范的电子书籍,特别适合初学者及有经验的开发者作为参考。CHM(Microsoft Compiled HTML Help)格式使得这本书籍紧凑且便于查阅,是学习和理解C#语法的理想资源。...
这个压缩包"微软C#语言规范(1.0至5.0版).zip"包含了从C# 1.0到5.0版本的语言规范文档,这些文档详细阐述了C#的语法、语义以及编程模型,是开发者理解和学习C#的基础资料。 C# 1.0版: 这是C#语言的初始版本,它...
《C#语言规范》是微软官方发布的一份详细文档,旨在定义C#编程语言的语法、语义以及程序设计规则。这份PDF版本是为那些希望深入理解C#语言原理的开发者准备的,尤其是英文版,它能帮助读者掌握最新、最权威的语言...
C#语言规范4.0是微软为C#编程语言制定的一份详细技术文档,它为开发者提供了关于C#语法、语义和编程实践的官方指南。这份规范的重要性在于,它是理解C#语言底层机制和正确编写代码的基础。无论你是初学者还是经验...
C# 语言规范 中文版