C#分部类的应用:记录学生信息

2024-02-21 10:28

本文主要是介绍C#分部类的应用:记录学生信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、分部类及其用途 

二、实例


        再发一个分部类的应用,巩固一下。

一、分部类及其用途 

        C#中的部分类也被称为分部类。

        C#中的部分类是一种将类的定义分成多个部分,每个部分都位于自己的文件中,然后在编译时合并在一起的机制。

        部分类的主要用途是将类的实现分散到多个文件中,从而使代码更易于管理和理解。这对于具有大量方法和属性的大型类特别有用,因为它可以使开发人员更轻松地导航和处理代码。

        部分类还可用于将类的实现与它的接口或公共API分离。例如,您可以将类的公共方法定义在一个部分中,而将私有方法和实现细节定义在另一个部分中。这可以帮助使类的公共API更清晰和易于使用,同时隐藏实现细节。

二、实例

        本实例主要使用分部类来分别记录学生的相关信息,然后在调用时,通过创建的分部类的对象分别为学生的相关属性赋值,并将赋予的值显示在对应的文本框中。

// 使用分部类记录学生信息
namespace _125
{public partial class Form1 : Form{private GroupBox? groupBox1;private TextBox? textBox8;private TextBox? textBox7;private TextBox? textBox6;private TextBox? textBox5;private TextBox? textBox4;private TextBox? textBox3;private TextBox? textBox2;private TextBox? textBox1;private Label? label8;private Label? label7;private Label? label6;private Label? label5;private Label? label4;private Label? label3;private Label? label2;private Label? label1;private Button? button1;public Form1(){InitializeComponent();StartPosition = FormStartPosition.CenterScreen;Load += Form1_Load;}private void Form1_Load(object? sender, EventArgs e){// // label1// label1 = new Label{AutoSize = true,Location = new Point(12, 24),Name = "label1",Size = new Size(68, 17),TabIndex = 0,Text = "学生编号:"};// // label2// label2 = new Label{AutoSize = true,Location = new Point(12, 54),Name = "label2",Size = new Size(68, 17),TabIndex = 1,Text = "学生年龄:"};// // label3// label3 = new Label{AutoSize = true,Location = new Point(12, 84),Name = "label3",Size = new Size(68, 17),TabIndex = 2,Text = "出生年月:"};// // label4// label4 = new Label{AutoSize = true,Location = new Point(12, 114),Name = "label4",Size = new Size(68, 17),TabIndex = 3,Text = "班      级:"};// // label5// label5 = new Label{AutoSize = true,Location = new Point(188, 24),Name = "label5",Size = new Size(68, 17),TabIndex = 4,Text = "学生姓名:"};// // label6// label6 = new Label{AutoSize = true,Location = new Point(188, 54),Name = "label6",Size = new Size(68, 17),TabIndex = 5,Text = "学生性别:"};// // label7// label7 = new Label{AutoSize = true,Location = new Point(188, 84),Name = "label7",Size = new Size(68, 17),TabIndex = 6,Text = "年      级:"};// // label8// label8 = new Label{AutoSize = true,Location = new Point(188, 114),Name = "label8",Size = new Size(68, 17),TabIndex = 7,Text = "班  主 任:"};// // textBox1// textBox1 = new TextBox{Location = new Point(75, 18),Name = "textBox1",Size = new Size(100, 23),TabIndex = 8};// // textBox2// textBox2 = new TextBox{Location = new Point(75, 48),Name = "textBox2",Size = new Size(100, 23),TabIndex = 9};// // textBox3// textBox3 = new TextBox{Location = new Point(75, 78),Name = "textBox3",Size = new Size(100, 23),TabIndex = 10};// // textBox4// textBox4 = new TextBox{Location = new Point(75, 108),Name = "textBox4",Size = new Size(100, 23),TabIndex = 11};// // textBox5// textBox5 = new TextBox{Location = new Point(248, 18),Name = "textBox5",Size = new Size(100, 23),TabIndex = 12};// // textBox6// textBox6 = new TextBox{Location = new Point(248, 48),Name = "textBox6",Size = new Size(100, 23),TabIndex = 13};// // textBox7// textBox7 = new TextBox{Location = new Point(248, 78),Name = "textBox7",Size = new Size(100, 23),TabIndex = 14};// // textBox8// textBox8 = new TextBox{Location = new Point(248, 108),Name = "textBox8",Size = new Size(100, 23),TabIndex = 15};// // groupBox1// groupBox1 = new GroupBox{Location = new Point(12, 12),Name = "groupBox1",Size = new Size(365, 142),TabIndex = 0,TabStop = false,Text = "学生信息"};groupBox1.Controls.Add(textBox8);groupBox1.Controls.Add(textBox7);groupBox1.Controls.Add(textBox6);groupBox1.Controls.Add(textBox5);groupBox1.Controls.Add(textBox4);groupBox1.Controls.Add(textBox3);groupBox1.Controls.Add(textBox2);groupBox1.Controls.Add(textBox1);groupBox1.Controls.Add(label8);groupBox1.Controls.Add(label7);groupBox1.Controls.Add(label6);groupBox1.Controls.Add(label5);groupBox1.Controls.Add(label4);groupBox1.Controls.Add(label3);groupBox1.Controls.Add(label2);groupBox1.Controls.Add(label1);groupBox1.SuspendLayout();// // button1// button1 = new Button{Location = new Point(302, 160),Name = "button1",Size = new Size(75, 23),TabIndex = 16,Text = "读取",UseVisualStyleBackColor = true};button1.Click += Button1_Click;// // Form1// AutoScaleDimensions = new SizeF(7F, 17F);AutoScaleMode = AutoScaleMode.Font;ClientSize = new Size(389, 186);Controls.Add(button1);Controls.Add(groupBox1);Name = "Form1";Text = "使用分部类记录学生信息";groupBox1.ResumeLayout(false);groupBox1.PerformLayout();LoadInfo();//加载学生信息}/// <summary>/// 为分部类中的各个属性赋值/// </summary>static void LoadInfo(){CommInfo.ID = "0001";CommInfo.Name = "刘同学";CommInfo.Sex = false;CommInfo.Age = 25;CommInfo.Birthday = Convert.ToDateTime("1985-04-25");CommInfo.Grade = 3;CommInfo.Class = 5;CommInfo.Director = "王老师";}/// <summary>/// 通过访问分部类中的属性显示学生信息/// </summary>private void Button1_Click(object? sender, EventArgs e){textBox1!.Text = CommInfo.ID!.ToString();textBox2!.Text = CommInfo.Age!.ToString();textBox3!.Text = CommInfo.Birthday!.ToString();textBox4!.Text = CommInfo.Class!.ToString();textBox5!.Text = CommInfo.Name!.ToString();textBox6!.Text = CommInfo.Sex.ToString();textBox7!.Text = CommInfo.Grade!.ToString();textBox8!.Text = CommInfo.Director!.ToString();}partial class CommInfo{/// <summary>/// 编号/// </summary>public static object? ID;/// <summary>/// 姓名/// </summary>public static object? Name;/// <summary>/// 性别/// </summary>static object? sex;public static object Sex{get{sex = sex switch{true => "男",_ => "女",};return sex;}set { sex = value; }}/// <summary>/// 年龄/// </summary>public static object? Age;/// <summary>/// 出生年月/// </summary>public static object? Birthday;}partial class CommInfo{/// <summary>/// 年级/// </summary>public static object? Grade;/// <summary>/// 班级/// </summary>public static object? Class;/// <summary>/// 班主任/// </summary>public static object? Director;}}
}

这篇关于C#分部类的应用:记录学生信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/731462

相关文章

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到