转换FileVersion ToDouble时格式不正确

时间:2011-06-29 22:19:37

标签: c# double

我正在制作一个从互联网上下载文件的小程序,具体取决于另一个文件的文件版本。

以下是一些代码(我收到错误的地方):

XmlDocument xdoc = new XmlDocument();
xdoc.Load("http://raiderz.daregamer.com/updates/app_version.xml");
XmlNodeList xNodeVer = xdoc.DocumentElement.SelectNodes("Version");
FileVersionInfo fileVer = FileVersionInfo.GetVersionInfo(AppDomain.CurrentDomain.BaseDirectory + "FileCheckVer.exe");
double ver_app = Convert.ToDouble(fileVer.FileVersion.ToString());
double ver_xml = Convert.ToDouble(xNodeVer);

错误显示“输入字符串的格式不正确。”并指向以下行。

double ver_app = Convert.ToDouble(fileVer.FileVersion.ToString());

有谁知道正确的格式是什么?

谢谢!

2 个答案:

答案 0 :(得分:2)

这是一个四部分的数字,例如1.2.3.4。您希望从中得到什么double值?

如果你想获得它的每个部分,那么不要将它转换为字符串,然后尝试解析它,只需使用FileVersionInfo propertiesFileMajorPart等。

答案 1 :(得分:0)

FileVersion位于格式d.d.d.d(2.0.0.0)中,其中double只是一个浮点数(d.d)。

您需要的所有信息都在您已创建的FileVersionInfo实例中(请查看属性)。

<强> /修改

回答Q2。你需要使用SelectSingleNode()来返回一个XmlNode,然后你看看它的.Value属性。