C# ToDouble()不工作吗?

C# ToDouble()不工作吗?,c#,compiler-errors,C#,Compiler Errors,我试图实现以下代码行,但它给了我错误: var distanceTravelRight = 10.0; var tick = DateTime.Now.Ticks(); var velLeft = distanceTravelRight / tick.ToDouble; 非可开票成员“System.DateTime.Ticks”不能像方法一样使用 “string”不包含“ToDouble”的定义,并且找不到接受“string”类型的第一个参数的扩展方法“ToDouble”。是否缺少using指

我试图实现以下代码行,但它给了我错误:

var distanceTravelRight = 10.0;
var tick = DateTime.Now.Ticks();
var velLeft = distanceTravelRight / tick.ToDouble;
非可开票成员“System.DateTime.Ticks”不能像方法一样使用

“string”不包含“ToDouble”的定义,并且找不到接受“string”类型的第一个参数的扩展方法“ToDouble”。是否缺少using指令或程序集引用

如果有人能指出问题,让我学习,我将不胜感激

Ticks是一个属性,而不是一个方法,因此不需要用括号调用它

此外,要将字符串转换为双精度,请使用double.TryParse

Ticks是一个属性,而不是一个方法,因此不需要用括号调用它

此外,要将字符串转换为双精度,请使用double.TryParse


请添加一个如何使用Double.TryParse的示例。@abatishchev,为什么不看一下TryParse的文档?为了简单起见,我只会使用Double.Parse。OP可能要求使用doubleticks,我也不知道为什么需要这样做。…。@DanielA.White:是的,它这样做是因为它并不真正知道ticks的类型,由于第一个错误。实际上没有涉及字符串-这只是编译器猜测错误。请添加一个如何使用Double.TryParse的示例。@abatishchev,为什么不看一下TryParse的文档?为了简单起见,我只使用Double.Parse。OP可能要求使用doubleticks,另外,我也不知道为什么有必要这样做……。@DanielA.White:是的,它这样做是因为它不知道蜱的类型,因为第一个错误。实际上并没有涉及字符串-这只是编译器错误地猜测。您希望用它实现什么?我怀疑DateTime.Ticks属性not方法没有达到您期望的效果。提示:主题是否真的从1开始就一直在移动?为什么您需要将long转换为double,而您已经将/operator的一侧设置为浮点类型?您想在这里做什么?似乎秒表或时间跨度会更有用…你希望用它实现什么?我怀疑DateTime.Ticks属性not方法没有达到您期望的效果。提示:主题是否真的从1开始就一直在移动?为什么您需要将long转换为double,而您已经将/operator的一侧设置为浮点类型?您想在这里做什么?似乎秒表或时间跨度更有用。。。
var tick = DateTime.Now.Ticks;
double yourDouble;
if (double.TryParse(yourString, out yourDouble)) 
{
   // It is safe to use `yourDouble` here
}