C# 我设置为DateTime.TimeOfDay的时间跨度是否会根据DateTime更改?
我有C# 我设置为DateTime.TimeOfDay的时间跨度是否会根据DateTime更改?,c#,datetime,timespan,C#,Datetime,Timespan,我有dtTime类型的DateTime变量和tmSpan类型的TimeSpan。我做这些: dtTime=new DateTime(1,1,1)+tmSpan; 在此之后,如果我在dtTime上更改白天时间,则此更改将应用于tmSpan?如果没有,有什么解决办法可以应用这样的东西吗?没有tmSpan是保持某个值的自变量。dtTime中的更改不会更改tmSpan 关于问题的第二部分,我不确定您是如何计算时间跨度的,但我相信您必须重新计算时间跨度才能得到更改,例如: tmSpan = dtTime
dtTime
类型的DateTime
变量和tmSpan
类型的TimeSpan
。我做这些:
dtTime=new DateTime(1,1,1)+tmSpan;
在此之后,如果我在
dtTime
上更改白天时间,则此更改将应用于tmSpan
?如果没有,有什么解决办法可以应用这样的东西吗?没有tmSpan
是保持某个值的自变量。dtTime
中的更改不会更改tmSpan
关于问题的第二部分,我不确定您是如何计算时间跨度的,但我相信您必须重新计算时间跨度才能得到更改,例如:
tmSpan = dtTime - DateTime.Now;
更改
dtTime
后,您可以执行以下操作
tmSpan = dtTime - new DateTime(1,1,1);
当你做这个手术的时候
dtTime=new DateTime(1,1,1)+tmSpan;
TimeSpan
值的部分是dtTime
实例的一部分,对它的任何更改都不会反映在TimeSpan
上。您仍然可以通过使用dtTime.TimeOfDay
访问相关部分,我认为这是您正在寻找的。s是不可变的-如果您查看可用的方法,您会发现任何涉及更改值的方法都会返回一个新的TimeSpan
结构。