C#高级编程:自定义类型数组及Person类解析

需积分: 14 44 下载量 108 浏览量 更新于2024-08-05 收藏 97.07MB PDF 举报
"C#高级编程·(第7版)-使用引用类型" 在C#编程中,引用类型是一种非常重要的概念,它与值类型相对。引用类型包括类(class)、接口(interface)、委托(delegate)以及数组。在C#中,当我们创建一个引用类型的实例时,我们实际上是在内存中分配了一个对象,并将该对象的引用存储在变量中。这意味着,多个变量可以指向同一个对象,修改通过引用访问的对象会影响到所有引用它的变量。 标题中提到的"使用引用类型-hta8533-md-007yy_使用说明书_v1.1_20170302"可能是一个关于如何在实际项目或应用程序中使用C#引用类型的指导文档,其中可能包含了具体示例和最佳实践。 在描述中,提到了使用自定义类型数组的例子,这涉及到C#中的类(class)和数组的使用。`Person` 类展示了如何定义一个具有公共属性(FirstName 和 LastName)和重写ToString()方法的类。`ToString()` 方法是从`object`类继承的,通常用于返回对象的字符串表示。在这个例子中,`ToString()` 返回一个格式化的字符串,包含`FirstName`和`LastName`的值。 `Person` 类的定义如下: ```csharp public class Person { public string FirstName { get; set; } public string LastName { get; set; } public override string ToString() { return String.Format("({0}) {1}", FirstName, LastName); } } ``` 在C#中,数组可以用来存储同一类型的多个元素。对于自定义类型的数组,你可以声明一个`Person`类型的数组,如下所示: ```csharp Person[] people = new Person[5]; ``` 接着,你可以创建`Person`对象并将其添加到数组中: ```csharp people[0] = new Person { FirstName = "John", LastName = "Doe" }; people[1] = new Person { FirstName = "Jane", LastName = "Smith" }; ``` C#中的引用类型还支持多态性,意味着子类对象可以赋值给父类类型的变量。这在处理数组时特别有用,可以创建一个更通用的数组来存储不同子类的实例。 此外,C#的垃圾回收机制(Garbage Collection)管理引用类型,当没有更多的引用指向一个对象时,垃圾回收器会自动释放该对象所占用的内存,从而避免内存泄漏。 在实际开发中,理解和正确使用引用类型对于构建高效、健壮的C#应用程序至关重要。它们允许我们构建复杂的面向对象模型,利用继承、多态和封装等面向对象特性。同时,掌握何时使用值类型和引用类型可以帮助优化性能,减少不必要的内存复制。