"ToString"方法的重载不需要 1 个参数



我有这个问题:

blTimer.Text = (TimeSpan.FromMinutes(60) - (DateTime.Now - startTime))
.ToString("hh\:mm\:ss");

此时:

ToString("hh\:mm\:ss"); 

Visual Studio显示了标题中的错误。我该如何解决?

以后,您应该始终将the FULL, EXACT ERROR MESSAGE复制/粘贴到您的问题正文中!

在这种情况下,请考虑更改格式字符串,例如.ToString("hh:mm:ss").

反斜杠("")通常表示一个"转义序列": https://learn.microsoft.com/en-us/cpp/c-language/escape-sequences?view=msvc-160

参见如何在字符串中写入反斜杠()?


附录:

有一些事情可能会出错,包括:a)格式字符串中错误的反斜杠,b)将格式字符串应用于错误的数据类型,c)其他?

因为它听起来像你已经修复了反斜杠,我猜也许当前的问题是你在错误的数据类型上调用.ToString()(不是一个System.DateTime对象的类型)。

建议:

  • 当有疑问时,一个强大的故障排除技术是拆分您的"复杂表达式"。
  • 另一个强大的技巧是写一个"简短的、自包含的、正确的(可编译的)示例"。- SSCCE

下面是一个例子:

using System;
/*
* SAMPLE OUTPUT:
* endTime: 12:00:00
*/
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
DateTime startTime = DateTime.Parse("10/18/21 11:00:00");
DateTime endTime = startTime + TimeSpan.FromMinutes(60);
string s = endTime.ToString("hh:mm:ss");
Console.WriteLine("endTime: {0}", s);
}
}
}

我希望这能帮助你找到正确的方向…

RESOLVED:D

问题是框架版本,当我创建项目时,我没有看到。net的版本,所以这就是问题所在!谢谢大家的帮助!

@paulsm4 -是的。谢谢,这些代码对我在其他一些项目上很有用,谢谢!

如果startTimeDateTime类型,则没有问题。TimeSpan有一个重载ToString(string format),你的格式工作。

这是代码:

timer.Tick += (obj, args) =>
lblTimer.Text =
(TimeSpan.FromMinutes(60) - (DateTime.Now - startTime)).ToString("hh/mm/ss"); //here is the problem on .ToString
timer.Enabled = true;
tmr_hide.Start();
tmr_show.Start();
tmr_if.Start();
tmr_himmi.Start();
tmr_clock.Start();

相关内容

  • 没有找到相关文章

最新更新