C#编程实践:存储学生数据到文本文件

需积分: 15 3 下载量 78 浏览量 更新于2024-09-11 收藏 2KB TXT 举报
"该资源是C#编程的练习代码,主要涉及到文件操作、结构体(struct)的使用、用户交互以及数据的输入输出。通过这段代码,开发者可以学习如何创建一个简单的应用程序,读取用户输入的数据,并将这些数据写入到文本文件中。" 在这段代码中,我们可以提取出以下几个重要的C#知识点: 1. **命名空间(Namespace)**:代码以`namespace Proj10_1`开头,定义了一个名为`Proj10_1`的命名空间。在C#中,命名空间用于组织代码,避免命名冲突。 2. **类(Class)**:`public partial class Form14 : Form`定义了一个名为`Form14`的公共类,它是`Form`类的子类。这意味着`Form14`是一个Windows窗体应用程序的界面类。 3. **结构体(Struct)**:`public struct Student`定义了一个名为`Student`的结构体,它包含四个成员变量:`sno`(学号)、`name`(姓名)、`sex`(性别)和`score`(分数)。结构体是一种值类型,不同于引用类型的类。 4. **构造函数(Constructor)**:`public Form14() { InitializeComponent(); }`是窗体的构造函数,用于初始化窗体控件。`InitializeComponent()`方法由Visual Studio自动生成,用于设置窗体及其控件的初始状态。 5. **文件流(FileStream)**:`FileStream fs = new FileStream("C:\\stu_data.txt", FileMode.Create, FileAccess.Write);`创建了一个`FileStream`对象,用于与文件进行交互。这里指定文件路径、打开模式(Create,如果文件不存在则创建)和访问权限(Write,只写)。 6. **流写入器(StreamWriter)**:`StreamWriter sw = new StreamWriter(fs);`创建了`StreamWriter`对象,它允许我们将文本数据写入到`FileStream`中。 7. **循环和用户交互**:使用`for`循环获取用户输入的4个学生的信息,通过`Interaction.InputBox`方法显示对话框,获取用户的输入。 8. **数据转换**:`s.score = Convert.ToSingle(Interaction.InputBox(...));`将用户输入的字符串转换为浮点数类型。 9. **字符串操作**:`PadRight(15, '-')`用于在字符串末尾填充指定字符,使其达到指定长度。在这个例子中,确保每个字段在写入文件时都有相同的宽度。 10. **文件写入**:`sw.WriteLine(...)`用于将格式化后的学生信息写入到文件中。每个学生的记录由逗号分隔。 11. **资源管理**:最后,使用`sw.Close();`和`fs.Close();`关闭流写入器和文件流,释放系统资源。 这段代码是初学者熟悉C#文件操作、用户交互以及数据存储的一个典型示例。通过运行这段代码并分析其工作原理,可以帮助开发者了解C#程序如何处理数据输入和输出。