我想编写一个程序,根据优先级和到达时间模拟等待列表。优先权在抵达时间上有较高的先例。该列表将包含优先级,到达时间和名称。我可以管理一个关键优先级,名称或到达时间,名称。组合2个键的最佳方法是什么?
答案 0 :(得分:1)
尝试下面的代码。 CompareTo()方法允许您使用标准排序方法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication61
{
class Program
{
static void Main(string[] args)
{
SortedList<PriorityTime, string> sList = new SortedList<PriorityTime, string>();
}
}
public class PriorityTime : IComparable<PriorityTime>
{
public int priority { get; set; }
public DateTime time { get; set; }
public int CompareTo(PriorityTime other)
{
if (other.priority != this.priority)
{
return this.priority.CompareTo(other.priority);
}
else
{
return this.time.CompareTo(other.time);
}
}
}
}