Priority Queues with C#: Listing 2.
The Employee class.
public class Employee : IComparable <Employee >
public string lastName;
public double priority; // Smaller values are higher priority
public Employee(string lastName, double priority)
this.lastName = lastName;
this.priority = priority;
public override string ToString()
return "(" + lastName + ", " + priority.ToString("F1") + ")";
public int CompareTo(Employee other)
if (this.priority < other.priority) return -1;
else if (this.priority > other.priority) return 1;
else return 0;
Dr. James McCaffrey works for Microsoft Research in Redmond, Wash. He has worked on several Microsoft products including Azure and Bing. James can be reached at firstname.lastname@example.org.