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# 创建控制台应用程序

    C#创建控制台应用程序的完整攻略 在C#中,控制台应用程序是一种常见的应用程序类型,可以在命令行中运行。本文将提供一个完整的C#创建控制台应用程序的攻略,包括创建、编译、运行、调试等操作。 步骤1:创建控制台应用程序 要创建控制台应用程序,可以按照以下步骤操作: 打开Visual Studio。 选择“文件”->“新建”->“项目”。 在“新建项…

    C# 2023年5月15日
    00
  • c# WPF如何实现滚动显示的TextBlock

    要实现滚动显示的TextBlock,可以使用WPF中的ScrollViewer和TextBlock结合使用。ScrollViewer是一个滚动视图容器,可以将其在需要滚动的控件周围包装起来,从而实现滚动效果。 下面是实现过程: 第一步:在XAML文件中,在需要滚动显示的TextBlock周围加入ScrollViewer容器,同时设置VerticalScrol…

    C# 2023年6月6日
    00
  • NET页面导出Excel实例代码

    首先,要实现.NET页面导出Excel功能,需要用到以下两个类库: NPOI:用于操作Excel文档的类库。 Microsoft.AspNet.WebApi.Core:用于处理Web API相关请求与响应的类库。 下面是一个.NET页面导出Excel的典型实现步骤: 步骤一:创建Web API控制器 在.NET项目中创建一个Web API控制器,用于处理导出…

    C# 2023年5月31日
    00
  • C# String.LastIndexOf()方法: 查找指定的子字符串在字符串中最后出现的位置

    String.LastIndexOf() 是 C# 中 string 类的一个方法,它用于在字符串中查找指定子字符串(或字符)最后一次出现的位置,并返回其索引。该方法返回的索引值是字符串的起始位置为 0 的位置开始计算的。如果字符串中不存在该子字符串或字符,则返回 -1。 该方法的语法如下: public int LastIndexOf(string val…

    C# 2023年4月19日
    00
  • C#中的委托数据类型简介

    C#中的委托数据类型简介 什么是委托? 在 C# 编程语言中,委托(delegate)是一种引用类型,可以用于引用具有特定签名和返回类型的方法。 委托将方法作为第一个参数或参数之一传递,并且可以减少编程工作量,因为无需编写相同的代码,只需要传递方法即可。 通过使用委托,可以根据具有相同签名的多个方法创建一个通用方法,从而使得代码更加的灵活和易于管理。 委托的…

    C# 2023年5月31日
    00
  • C#的泛型方法解析

    针对C#的泛型方法解析,以下是一份完整攻略: 什么是泛型方法? 泛型方法是一种可以在运行时接受多种不同类型参数的方法,这样就避免了为每种类型都必须编写一个特定的方法的麻烦。泛型方法是使用泛型语法来定义的,例如: public T Add<T>(T a, T b) { return a + b; } 上面的例子中,我们定义了一个可以处理任何类型T的…

    C# 2023年5月15日
    00
  • .NET Core利用动态代理实现AOP(面向切面编程)

    文章概述: 本文将讲解如何利用动态代理实现AOP(面向切面编程)的过程。首先,我们介绍AOP的概念和原理。然后,我们详细说明如何使用动态代理实现AOP的过程。最后,我们提供了两个示例,演示如何通过AOP实现日志记录和异常处理。 什么是AOP? AOP全称为Aspect Oriented Programming,翻译成中文即“面向切面编程”。它是一种编程思想,…

    C# 2023年6月3日
    00
  • C#实现装箱与拆箱操作简单实例

    C#实现装箱与拆箱操作简单实例 什么是装箱与拆箱 C#中,装箱(boxing)指的是将一个值类型(比如int、float等)转换为一个对象类型(比如object类型、ValueType类型等),拆箱(unboxing)则是相反的过程,将一个对象类型转换为值类型。 装箱和拆箱操作可以在对内存性能要求较高的情况下对程序性能造成影响,因此需要慎重使用。 如何实现装…

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