如何将用户输入的课程ID与数组元素的CourseID匹配并返回信息?
如何用用户输入的课程ID匹配课程数组元素?
看起来你已经搞定了用户输入课程ID的部分,接下来要把这个c1和课程数组里的元素匹配上对吧?其实很简单,给你两种常用的实现方式:
方法一:用foreach循环遍历匹配
直接遍历整个courses数组,逐个对比每个课程的CourseID和c1的值,找到匹配项后就能获取对应的课程信息:
// 遍历课程数组,逐个检查CourseID foreach (Courses course in courses) { if (course.CourseID == c1) { // 找到匹配的课程,这里可以按需处理信息 Console.WriteLine($"匹配成功:\n课程ID:{course.CourseID}\n课程名称:{course.CourseName}\n开课日期:{course.CourseDate:yyyy/MM/dd}"); // 因为课程ID是唯一的,找到后直接退出循环即可 break; } }
方法二:用LINQ查询(更简洁高效)
如果你的项目已经引用了System.Linq命名空间,用LINQ可以一行代码定位到目标课程,可读性和效率都更高:
首先确保代码顶部添加了LINQ的引用:
using System.Linq;
然后执行查询并处理结果:
// 从数组中筛选出CourseID等于c1的课程(ID唯一,用FirstOrDefault获取单个结果) Courses matchedCourse = courses.FirstOrDefault(course => course.CourseID == c1); if (matchedCourse != null) { Console.WriteLine($"匹配成功:\n课程ID:{matchedCourse.CourseID}\n课程名称:{matchedCourse.CourseName}\n开课日期:{matchedCourse.CourseDate:yyyy/MM/dd}"); } else { Console.WriteLine("未找到对应的课程信息"); }
小提示
因为你的课程ID是唯一标识(每个课程的ID都不重复),所以不管用哪种方法,找到第一个匹配项后就可以停止操作了,不用继续遍历整个数组,这样能提升一点效率哦。
内容的提问来源于stack exchange,提问作者Alex Webb
相关产品推荐
相关产品推荐

