C#实现学生档案查询

yizhihongxing

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#字符串与正则表达式的图文详解

    C#字符串与正则表达式的图文详解 1. 什么是正则表达式 正则表达式(Regular Expression)是一种用来描述、匹配文本字符串的工具,它是由元字符和字符组成的表达式。使用正则表达式可以快捷方便的实现字符串的匹配、查找与替换等操作。 2. 正则表达式的基本语法 2.1 元字符 元字符是正则表达式中的特殊字符,其在匹配过程中具有特殊含义,常见的元字符…

    C# 2023年6月7日
    00
  • Mvc提交表单的四种方法全程详解

    Mvc提交表单的四种方法全程详解 本文将详细讲解 MVC 中提交表单的四种方法,并提供示例说明。四种方法分别为 GET、POST、PUT 和 DELETE。 在开始之前,我们需要了解一下 MVC 的控制器(Controller)和视图(View)。控制器负责接受用户的请求并处理请求,视图负责展示数据。 1. GET 方法 GET 方法通常用于获取数据,比如查…

    C# 2023年5月31日
    00
  • C#使用LOCK实现线程同步

    下面我将详细讲解如何使用C#中的lock语句实现线程同步。 什么是lock语句 lock语句是C#中用于保护共享资源的关键字。当多个线程访问一个共享资源时,可能会引发竞态条件(Race Condition)的问题,这时就需要使用lock语句来防止竞态条件的发生。lock语句会将一段关键代码标记为临界区,同一时间只允许一个线程进入临界区执行代码,其他线程需要等…

    C# 2023年6月1日
    00
  • Asp.Net URL重写的具体实现

    下面我将为您详细讲解Asp.Net URL重写的具体实现。 什么是URL重写 URL重写是指通过将某个URL地址重写成另一个URL地址,来达到URL地址美化或处理URL地址映射的目的。在Web应用程序中,常见的URL重写方式有两种:一种是基于IIS的URL重写模块,另一种是基于Asp.Net的URL重写模块。 Asp.Net URL重写的具体实现 步骤一:启…

    C# 2023年5月31日
    00
  • ASP.NET MVC使用Boostrap实现产品展示、查询、排序、分页

    以下是在ASP.NET MVC中使用Bootstrap实现产品展示、查询、排序和分页的完整攻略: 步骤1:创建MVC项目 在Visual Studio中创建一个新的ASP.NET MVC项目。 步骤2:添加Bootstrap 在中添加Bootstrap框架。可以通过NuGet包管理器来安装Bootstrap。 步骤3:创建产品模型 在Models文件夹中创建…

    C# 2023年5月12日
    00
  • 总结十条.NET异常处理建议

    下面我将对如何总结十条.NET异常处理建议进行详细讲解。在.NET应用程序中,正确处理异常异常是保证应用程序稳定性和可靠性的关键,可以避免应用程序出现崩溃和数据丢失等问题。因此,我们需要总结出一些通用的.NET异常处理建议。 1. 记录异常日志 在捕捉异常后,我们需要记录异常日志来帮助我们更快地找到问题。记录异常日志的方式有很多,例如使用log4net和NL…

    C# 2023年5月15日
    00
  • WinForm入门与基本控件使用详解

    WinForm入门与基本控件使用详解 1. WinForm简介 WinForm是Windows应用程序的主要用户界面框架,它是在.NET框架之上创建的。使用WinForm可以轻松创建各种Windows应用程序。 1.1 WinForm的优势 可以使用Visual Studio创建WinForm应用程序,这使得对开发者来说非常方便。 WinForm提供了许多内…

    C# 2023年5月31日
    00
  • Winform中如何跨线程访问UI元素

    在 WinForm 应用程序中,当后台线程需要更新界面上的 UI 元素时,需要注意跨线程访问 UI 元素的问题。因为 UI 元素只能由创建它的主线程访问和修改,如果在其他线程中访问,程序将抛出一个“ System.InvalidOperationException ”异常。下面介绍两种常见的跨线程访问 UI 元素的办法。 方法一、使用 Control.Inv…

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