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))
对其进行了验证,谢谢。