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

相关文章

C#如何调用C++库

《C#如何调用C++库》:本文主要介绍C#如何调用C++库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录方法一:使用P/Invoke1. 导出C++函数2. 定义P/Invoke签名3. 调用C++函数方法二:使用C++/CLI作为桥接1. 创建C++/CL

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

C# Where 泛型约束的实现

《C#Where泛型约束的实现》本文主要介绍了C#Where泛型约束的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录使用的对象约束分类where T : structwhere T : classwhere T : ne

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J