属性或索引器'System.DateTime.TimeOfDay'无法分配给 - 它是只读的

Joh*_*han 2 c# asp.net datetime datetimepicker

我看到了很多重复的帖子但对我来说这是不同的东西.

我有一个Datetime对象并获取时间部分并为其分配另一个时间.当我要分配它时,它会引发这些错误.

在这里newStartDateGroup是一个DateTime对象,这里的OpenTime是一个TimeSpan

无法将属性或索引器分配给 - 它是只读的

else if(newStartDateGroup.TimeOfDay < i.OpenTime && newEndDateGroup.TimeOfDay > i.CloseTime) // < >
 {
        newStartDateGroup.TimeOfDay = i.OpenTime;
Run Code Online (Sandbox Code Playgroud)

Mar*_*zek 6

DateTime.NET中的struct不可变的,因此不必更改它的值,而是必须创建新值:

newStartDateGroup = newStartDateGroup.Date.Add(i.OpenTime);
Run Code Online (Sandbox Code Playgroud)