C#中的参数超出范围异常错误

her*_*ron 0 c# networking winforms

我的方法看起来像那样.(从这里抓起)

private void inetConvert() {
    byte[] buf = new byte[1024];
    string result;
    string xeString = String.Format("http://www.xe.com/ucc/convert.cgi?Amount=1&From={0}&To={1}", srcCurrency, dstCurrency);
    System.Net.WebRequest wreq = System.Net.WebRequest.Create(new Uri(xeString));
    System.Net.WebResponse wresp = wreq.GetResponse();
    Stream respstr = wresp.GetResponseStream();
    int read = respstr.Read(buf, 0, 10240); // Error
    result = Encoding.ASCII.GetString(buf, 0, read); 
    curRateLbl.Text= result;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当app执行此应用程序后挂起大约4-5秒后获取此屏幕

在此输入图像描述

我错过了什么?

Jon*_*Jon 12

缓冲区的大小是1024,但是你知道Read它可以将最多10240(十倍大小)字节放入缓冲区.据记载,它抛出因为

偏移量和计数之和大于缓冲区长度.