属性或索引器';System.DateTime.TimeOfDay';无法分配给--它是只读的
本文关键字:分配 只读 TimeOfDay 索引 System 属性 DateTime | 更新日期: 2023-09-27 18:28:13
我看到了很多重复的帖子,但对我来说,这是不同的。
我有一个Datetime对象,并得到时间部分&再分配一个时间。当我要分配它时,它会引发这些错误。
在这里newStartDateGroup是一个DateTime对象在这里OpenTime是TimeSpan
属性或索引器无法分配给--它是只读
else if(newStartDateGroup.TimeOfDay < i.OpenTime && newEndDateGroup.TimeOfDay > i.CloseTime) // < >
{
newStartDateGroup.TimeOfDay = i.OpenTime;
.NET中的DateTime
结构是不可变的,因此您必须创建一个新结构:
newStartDateGroup = newStartDateGroup.Date.Add(i.OpenTime);
您只能创建新的DateTime
实例。
根据显示的代码,您只想设置一天的时间
这应该做到:
newStartDateGroup = DateTime.Today.Add(i.OpenTime);
DateTime.Today
是今天00:00。
只需手动分配小时、分钟和秒。
DateTime temp = DateTime(newStartDateGroup.Year, newStartDateGroup.Month, newStartDateGroup.Day, i.OpenTime.Hours, i.OpenTime.Minutes, i.OpenTime.Seconds);
newStartDateGroup = temp;