C# 如何将StreamReader转换为double

C# 如何将StreamReader转换为double,c#,C#,我正在尝试使用外部html文档中的streamreader: WebRequest request = WebRequest.Create("http://example.com/version.html"); WebResponse response = request.GetResponse(); System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()); double

我正在尝试使用外部html文档中的streamreader:

WebRequest request = WebRequest.Create("http://example.com/version.html");
WebResponse response = request.GetResponse();
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());

double current = double.Parse(reader.ReadToEnd());

if (current >= 10.5)
{
    button1.Enabled = false;
}
但它抛出一个异常
(0xc0000005)“访问冲突”

html的内容:
0.10.5

我做错了什么

编辑:

已按建议将double更改为版本:

WebRequest request = WebRequest.Create("http://example.com/version.html");
WebResponse response = request.GetResponse();
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());

Version current = Version.Parse(reader.ReadToEnd());

if (current >= 0.10.5)
{
    button1.Enabled = false;
}
还是同样的例外:

A first chance exception of type 'System.ArgumentException' occurred in mscorlib.dll
The program '[6344] APP.vshost.exe: Program Trace' has exited with code 0 (0x0).
The program '[6344] APP.vshost.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.

如果解析的是一个版本,也许你应该考虑类,而不是<代码>双 用你的绳子打电话

它还可以像预期的那样用于比较版本

Version v1 = Version.Parse("0.10.5");
Version v2 = Version.Parse("0.11.2");

Console.WriteLine("v2 > v1 = {0}", v2 > v1);      // Outputs True
Console.WriteLine("v2 < v1 = {0}", v2 < v1);      // Outputs False

错误发生在哪一行?(另外,“0.10.5”不是有效的双精度,您不能有两个小数点,但这不应导致类似的错误。)
mscorlib.dll中出现“System.FormatException”类型的第一次意外异常程序“[2604]APP.vshost.exe:程序跟踪”已退出,代码为0(0x0)。程序“[2604]APP.vshost.exe”已退出,代码为-1073741819(0xc0000005)“访问冲突”。
您应该先发布所有这些内容,因为现在我可以看到实际错误只是
格式异常
。流读取器可以返回流的空字符或头值(编码或其他内容)。。因此,首先根据您的具体需要过滤流数据,然后使用double.TryParse()方法。如果代码不正确,则使用小写的
版本。请始终复制并粘贴您的确切代码。另外,使用中间字符串作为
reader.ReadToEnd()
的结果,并将其打印出来,这样您就可以确定得到了什么。不要做任何假设。
void Main()
{
    string url = "http://m1.beatpad.net/version.html";
    var request = WebRequest.Create(url);
    var response = request.GetResponse();

    var reader = new StreamReader(response.GetResponseStream());
    var data = reader.ReadToEnd();
    var ver = Version.Parse(data);
    Console.WriteLine("{0}", ver);
}