=================================================EmployeeID.cs(学生编号类)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { //作为键的类型必须要重写GetHashCode() public class EmployeeID : IEquatable<EmployeeID> { public string ID { get; private set; } public EmployeeID(string s) { ID = s; } public override bool Equals(object obj) { if (obj == null) throw new ArgumentException("对象不能为空"); return this.Equals(obj as EmployeeID); } public override int GetHashCode() { return 1; } public bool Equals(EmployeeID other) { return this.ID == other.ID; } } }
=================================================Student.cs(学生类)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { public class Student { public string Name { get; private set; } public EmployeeID ID { get; private set; } public Student(EmployeeID id, string name) { this.Name = name; this.ID = id; } } }
=================================================主程序
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication7 { class Program { static void Main(string[] args) { Dictionary<EmployeeID, Student> d = new Dictionary<EmployeeID, Student>(); var ID1 = new EmployeeID("Z001"); var Stu1 = new Student(ID1, "张飞"); d.Add(ID1, Stu1); var ID2 = new EmployeeID("Z002"); var Stu2 = new Student(ID2, "关羽"); d.Add(ID2, Stu2); var ID3 = new EmployeeID("Z003"); var Stu3 = new Student(ID3, "曹操"); d.Add(ID3, Stu3); var ID4 = new EmployeeID("Z004"); var Stu4 = new Student(ID4, "赵云"); d.Add(ID4, Stu4); var ID5 = new EmployeeID("Z005"); var Stu5 = new Student(ID5, "马超"); d.Add(ID5, Stu5); while (true) { string str = Console.ReadLine(); if (str.ToLower() == "exit") return; Student s; EmployeeID ei = null; ei = new EmployeeID(str); if (!d.TryGetValue(ei, out s))//判断是否存在键对应的相关的值 { Console.WriteLine("没有找到该学生"); } else { Console.WriteLine(d[ei].Name); } } } } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。