C#实现学生档案查询

C#实现学生档案查询攻略

简介

本篇攻略将为大家介绍如何使用C#语言实现学生档案查询功能。学生档案查询主要包括查询功能和显示结果功能。查询功能可根据学生姓名、学号等关键词进行查询,显示结果功能则可将查询到的数据在页面上进行展示。接下来,我们将介绍实现此功能的具体步骤。

步骤

1. 新建工程

首先,在Visual Studio中创建一个新的控制台应用程序工程。

2. 创建学生类

在工程中新建一个学生类,类中包含学生信息如姓名、学号、性别、地址等属性。

class Student
{
    public string Name { get; set; }
    public int Id { get; set; }
    public string Gender { get; set; }
    public string Address { get; set; }
    // 还可以添加其他属性,比如:年龄、班级等
}

3. 创建数据存储

创建一个储存学生信息的数据结构,这里我们可以使用List或者数组等数据结构。

List<Student> students = new List<Student>(); // 创建一个List用于存储学生信息

4. 添加学生信息

在代码中手动添加学生信息:

students.Add(new Student { Name = "小明", Id = 1001, Gender = "男", Address = "北京市海淀区" });
students.Add(new Student { Name = "小红", Id = 1002, Gender = "女", Address = "北京市朝阳区" });

或者从文件中读取学生信息:

string file = "students.txt";
StreamReader sr = new StreamReader(file);
string line;
while ((line = sr.ReadLine()) != null)
{
    string[] info = line.Split(",");
    students.Add(new Student { Name = info[0], Id = Convert.ToInt32(info[1]), Gender = info[2], Address = info[3] });
}
sr.Close();

5. 实现查询功能

添加一个查询函数,根据输入的关键字,查找符合条件的学生信息并返回。

public static List<Student> Search(string keyword)
{
    List<Student> result = new List<Student>(); // 创建一个List用于储存查询结果
    foreach (Student s in students)
    {
        if (s.Name == keyword || s.Id.ToString() == keyword || s.Gender == keyword || s.Address == keyword)
            result.Add(s);
    }
    return result;
}

6. 实现结果展示

将查询到的学生信息在控制台显示出来。

void ShowResult(List<Student> result)
{
    Console.WriteLine("查询结果:");
    Console.WriteLine("=======================================");
    Console.WriteLine("姓名\t学号\t\t性别\t地址");
    Console.WriteLine("=======================================");
    foreach (Student s in result)
    {
        Console.WriteLine("{0}\t{1}\t{2}\t{3}", s.Name, s.Id, s.Gender, s.Address);
    }
}

7. 测试

编写代码测试查询功能和结果展示是否正常工作。

static void Main(string[] args)
{
    List<Student> result = Search("小明"); // 进行查询
    if (result.Count == 0) // 判断是否查询到结果
        Console.WriteLine("没有查询到结果!");
    else
        ShowResult(result); // 显示结果
}

示例说明

示例1:手动添加学生信息

static void Main(string[] args)
{
    // 添加学生信息
    students.Add(new Student { Name = "小明", Id = 1001, Gender = "男", Address = "北京市海淀区" });
    students.Add(new Student { Name = "小红", Id = 1002, Gender = "女", Address = "北京市朝阳区" });

    // 进行查询
    List<Student> result = Search("小明");

    if (result.Count == 0) // 判断是否查询到结果
        Console.WriteLine("没有查询到结果!");
    else
        ShowResult(result); // 显示结果
}

示例2:从文件中读取学生信息

假设students.txt中的学生信息为:

小明,1001,男,北京市海淀区
小红,1002,女,北京市朝阳区
static void Main(string[] args)
{
    // 从文件中读取学生信息
    string file = "students.txt";
    StreamReader sr = new StreamReader(file);
    string line;
    while ((line = sr.ReadLine()) != null)
    {
        string[] info = line.Split(",");
        students.Add(new Student { Name = info[0], Id = Convert.ToInt32(info[1]), Gender = info[2], Address = info[3] });
    }
    sr.Close();

    // 进行查询
    List<Student> result = Search("小明");

    if (result.Count == 0) // 判断是否查询到结果
        Console.WriteLine("没有查询到结果!");
    else
        ShowResult(result); // 显示结果
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现学生档案查询 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • C# StringBuilder和string

    C#中的StringBuilder和string都是字符串类型,但它们有一些不同的特点。本篇文章将详细讲解它们的区别以及在实际开发中的应用。 StringBuilder StringBuilder是一个可变的字符串类,使用它可以方便地进行字符串拼接和修改操作。相对于string类型,StringBuilder在频繁修改字符串时可以提供更好的性能表现。 创建S…

    C# 2023年6月8日
    00
  • .NET Core对象池的应用:编程篇

    .NET Core对象池的应用:编程篇 在本攻略中,我们将深入讲解如何使用.NET Core对象池来提高应用程序的性能,并提供两个示例说明。 什么是.NET Core对象池? .NET Core对象池是一种用于重用对象的机制,它可以显著提高应用程序的性能。对象池通过预先分配和缓存对象来避免频繁的垃圾回收和内存分配,从而减少了应用程序的开销。 如何使用.NET…

    C# 2023年5月17日
    00
  • unity3d实现七天签到功能

    实现七天签到功能需要以下步骤: 步骤一:创建UI界面 首先,需要在Unity3D中创建一个UI界面,用于展示用户的签到记录和当天是否签到。可以使用Unity3D的内置UI工具,或者使用第三方插件,如NGUI。 步骤二:创建签到数据结构 在编写签到功能之前,需要定义一个签到的数据结构,保存用户的签到记录。可以用一个数组保存七天的签到状态,true表示已签到,f…

    C# 2023年6月1日
    00
  • WinFrom中label背景透明的实现方法

    下面是详细讲解WinForm中label背景透明的实现方法的完整攻略: 1. 实现背景透明 我们可以使用以下步骤实现label的背景透明: 步骤一:设置Label的Color属性为Transparent 在窗体中,选中Label控件,找到Color属性,将其设置为Transparent。这样,我们就能看到底下窗体的背景了。 步骤二:在Label的Paint事…

    C# 2023年6月7日
    00
  • 如何利用C#打印九九乘法表

    下面是详细的攻略: 如何利用C#打印九九乘法表 1. 概述 九九乘法表是学习基础数学的必修课程之一,在程序员的日常工作中,也常常需要用到九九乘法表。利用C#编程语言打印九九乘法表是一项基础练习。 2. 实现方法 要实现打印九九乘法表,我们可以使用嵌套循环来实现。具体步骤如下: 使用两层for循环嵌套,外层循环控制输出的行数,内层循环控制输出该行的列数; 每次…

    C# 2023年6月6日
    00
  • .NET Reflector8.5怎么激活?.NET Reflector安装激活使用详细图文教程

    以下是详细讲解 “.NET Reflector 8.5怎么激活?.NET Reflector安装激活使用详细图文教程” 的完整攻略。 安装.NET Reflector 8.5 首先,我们需要从官方网站下载最新版本的.NET Reflector 8.5并安装它。 获取激活码 然后,我们需要获取一个有效的激活码。你可以从官方网站购买一个许可证,也可以在互联网上寻…

    C# 2023年6月3日
    00
  • js获取Treeview选中的节点(C#选中CheckBox项)

    下面是如何用JavaScript获取TreeView选中的节点: 1. 使用querySelectorAll函数 // 获取全部被选中的复选框元素 const checkedNodes = document.querySelectorAll(‘input[type="checkbox"]:checked’); // 遍历复选框元素 che…

    C# 2023年6月6日
    00
  • C#正则表达式之Regex类用法详解

    C#正则表达式之Regex类用法详解 正则表达式是一种强大的文本处理工具,常用于文本匹配、替换、过滤等操作。在C#中,我们可以使用Regex类来操作正则表达式。 Regex类的基本用法 Regex类提供了多个静态方法和实例方法,用于操作正则表达式。其中最常用的是Match和MatchCollection方法。 Match方法 Match方法用于查找第一个匹配…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部