You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用First()获取字典首元素赋值DateTime变量时出现CS0029错误

问题原因及解决方法

原因分析

Dictionary<DateTime, double>是键值对集合,调用First()方法时,返回的是整个键值对对象(KeyValuePair<DateTime, double>类型),而你的ExpirationDate属性是DateTime类型,两者类型不兼容,所以出现CS0029类型转换错误。

解决代码

要获取字典第一个项的DateTime类型键,需要明确访问键值对的Key属性:

var timeOffWithExpiration = await this.GetAvailableTimeOffWithExpiration(u.Id);
var TimeOff = new TimeOffApproved()
{
    ExpirationDate = timeOffWithExpiration.First().Key
};

注意:如果业务逻辑实际需要的是键值对中的double值(但结合属性类型来看大概率是取键),则对应访问Value属性,但需确保类型匹配。

内容的提问来源于stack exchange,提问作者Jesus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 16:05:42