C#入门:定义与调用索引器及.NET平台简介

需积分: 3 0 下载量 122 浏览量 更新于2024-08-19 收藏 6.71MB PPT 举报
"这篇文档是关于C#编程中的索引器使用,以及C#语言的基础知识,包括.NET Framework、CLR、JIT等概念的简介。" 在C#中,索引器允许类的对象像数组一样通过索引进行访问。在提供的代码示例中,`Photo` 类表示一张照片,具有 `Title` 属性来存储照片的标题。`Album` 类则是一个专辑,用于存储多张照片,这里使用数组 `photos` 来实现。虽然数组本身已经可以通过索引访问元素,但如果我们想自定义访问方式,比如根据日期或ID来查找照片,这时就需要定义索引器。 索引器定义在类中,通常会使用 `this` 关键字作为返回类型的一部分,以指代当前对象。例如,我们可以为 `Album` 类添加一个基于照片ID的索引器: ```csharp public class Album { // ... public Photo this[int id] { get { // 检查id的有效性并返回对应的照片 for (int i = 0; i < photos.Length; i++) { if (photos[i].Id == id) { return photos[i]; } } throw new ArgumentException("Invalid photo ID"); } set { // 设置对应ID的照片 // 需要确保id有效,并找到正确的位置 } } } ``` 这样,我们就可以像操作数组一样,通过照片的ID来访问或设置照片: ```csharp Album myAlbum = new Album(10); myAlbum[1] = new Photo("Photo 1"); // 设置照片 Photo photo = myAlbum[1]; // 获取照片 ``` C# 是微软开发的一种面向对象的编程语言,它作为 .NET Framework 的一部分,旨在提高开发效率,同时保持底层操作的灵活性。.NET Framework 包括 Common Language Runtime (CLR),它负责管理代码的执行,包括内存管理和类型安全。Just-In-Time (JIT) 编译器将源代码编译为中间语言 (MSIL),并在运行时转换为机器码。Common Type System (CTS) 确保不同语言之间的兼容性。 .NET Framework 提供了大量的命名空间,涵盖了各种库和服务,如System.IO用于处理输入输出,System.Windows.Forms用于创建Windows应用程序等。C# 的程序结构包括类、方法、属性、事件等,支持接口、泛型、委托等高级特性,使得它非常适合开发各种类型的应用,包括桌面应用、Web应用以及数据库应用。 C# 结合了 C/C++ 的强大功能和VB的开发效率,是一种现代且高效的编程语言,尤其适合利用.NET Framework构建跨平台的应用。通过学习C#,开发者不仅可以掌握面向对象编程,还能深入理解.NET生态系统的运作机制。