我在谷歌和这里寻找解决方案但是找不到任何相关信息。我试图在日期之间产生分歧。我写了像
这样的东西TimeSpan difference = timealarm.Subtract(DateTime.Now);
其中timealarm为DateTime.Now + 3 hours
。这条线似乎很好。我正在尝试使用
MessageBox.Show(difference.TotalMinutes);
然后我收到标题中提到的错误:
无法将'double'类型转换为'string'。 Visual Studio显示错误 这里 - difference.TotalMinutes。
我是.net和c#的新手,我想这很简单。
答案 0 :(得分:4)
MessageBox.Show
接受一个字符串。 difference.TotalMinutes
的类型为double
。没有从double
到string
的隐式转换,但您可以调用ToString
方法:
MessageBox.Show(difference.TotalMinutes.ToString());
这将只使用您正在运行的默认文化来转换价值。 (例如,它是否使用逗号或句点作为小数分隔符将取决于您的系统。)
通常,当您收到这样的错误时,您应该检查:
double
)您期望它是什么?如果没有,也许你应该改变你正在计算的东西。string
)您期望它是什么?如果没有,也许你应该改变你打电话的方式,或者你如何使用这个价值。如果这些类型都有意义,那么您需要考虑如何转换来自"来源"键入" target"类型 - 这将取决于上下文。
答案 1 :(得分:0)
MessageBox需要一个字符串,你的值是一个double 你只需将double转换为字符串就像这样
MessageBox.Show(difference.TotalMinutes.ToString());