字典---Dictionary<TKey,TValue>
发表于:2024-11-26 作者:热门IT资讯网编辑
编辑最后更新 2024年11月26日,=================================================EmployeeID.cs(学生编号类)using System;using System.Colle
=================================================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{ 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) { Dictionaryd = new Dictionary (); 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); } } } }}