C# 我无法更改DateTime变量的小时和分钟

C# 我无法更改DateTime变量的小时和分钟,c#,.net,C#,.net,我无法更改类型为DateTime的变量的小时和分钟: 代码: 错误: 严重性代码说明项目文件行抑制状态 错误CS0200属性或索引器“DateTime.Hour”无法分配给--它是只读的 您只能读取Hour等的值。如果要设置这些属性,您需要使用AddHours,或者使用新的DateTime覆盖DateTime 您可以这样做: else if (radioButton2.Checked == true) { var now = DateTime.Now

我无法更改类型为
DateTime
的变量的小时和分钟:

代码:

错误:

严重性代码说明项目文件行抑制状态 错误CS0200属性或索引器“DateTime.Hour”无法分配给--它是只读的


您只能读取
Hour
等的值。如果要设置这些属性,您需要使用
AddHours
,或者使用新的
DateTime
覆盖
DateTime

您可以这样做:

else if (radioButton2.Checked == true)
        {
            var now = DateTime.Now
            alarme[count] = new DateTime(now.Year, now.Month, now.Day,Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text), now.Second);
        }

编辑:

else if (radioButton2.Checked == true)
                {
                    alarme[count] = DateTime.Now.Date + new TimeSpan(Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text), 0);
                }

在每种情况下您想做什么?DateTime是不可变的。这些错误实际上是在告诉您。Radiobutton1:将时间添加到当前时间。无线电按钮2:设置时间。请阅读。关键短语:“搜索、研究”和“解释……任何阻碍你自己解决问题的困难”。你必须阅读DateTime课程的文档。所有答案都在那里
else if (radioButton2.Checked == true)
                {
                    alarme[count] = DateTime.Now.Date + new TimeSpan(Convert.ToInt32(textBox1.Text), Convert.ToInt32(textBox2.Text), 0);
                }