=================================================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);
}
}
}
}
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。