C# 在字典中获取按值datetime排序的值?

C# 在字典中获取按值datetime排序的值?,c#,C#,我正试图得到一个已经用了很长时间的帐户 有没有办法编辑bestAccount变量来检查Activity Discitionary,以及它是否包含获取日期时间最早的变量的键 public class AuthHandler : IAuthHandler { public IDictionary<string, DateTime> Activity; public IDictionary<string, string> Accounts; publi

我正试图得到一个已经用了很长时间的帐户

有没有办法编辑
bestAccount
变量来检查Activity Discitionary,以及它是否包含获取日期时间最早的变量的键

public class AuthHandler : IAuthHandler
{
    public IDictionary<string, DateTime> Activity;
    public IDictionary<string, string> Accounts;

    public AuthHandler()
    {
        Activity = new Dictionary<string, DateTime>();
        Accounts = new Dictionary<string, string>();
    }

    public KeyValuePair<string, string> Generate()
    {
        var bestAccount = Accounts.Where(x => !Activity.ContainsKey(x.Key)).FirstOrDefault();
        Activity[bestAccount.Key] = DateTime.Now;

        return bestAccount;
    }
}
公共类AuthHandler:IAuthHandler
{
公共词典活动;
公共词典账户;
公共AuthHandler()
{
活动=新字典();
账户=新字典();
}
公钥值对生成()
{
var bestAccount=Accounts.Where(x=>!Activity.ContainsKey(x.Key)).FirstOrDefault();
活动[bestAccount.Key]=DateTime.Now;
返回最佳帐户;
}
}

尝试以下操作:

var bestAccount = Accounts.Where(a => !Activity.ContainsKey(a.Key))
                                           .OrderByDescending(a => a.Value).FirstOrDefault();

if (bestAccount != null)
{
    doSomething();
}

有关更多信息,请参阅可用的文档。

谢谢,有没有简单的方法检查此值是否为空?我得到的
运算符“==”不能应用于“KeyValuePair”和“”类型的操作数
您不能将该运算符用于KeyValuePair,我使用
bestAccount.Equals(默认值(KeyValuePair))
对其进行了验证,谢谢。