Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用try的当前上下文中不存在流_C#_.net_Webclient_Filestream - Fatal编程技术网

C# 使用try的当前上下文中不存在流

C# 使用try的当前上下文中不存在流,c#,.net,webclient,filestream,C#,.net,Webclient,Filestream,我试图从服务器上读取一些数据,用于内置的更新函数,但遇到编译时错误。我有什么办法可以绕开这件事吗?我需要这个来检查用户是否有一个工作的互联网连接,如果没有跳过更新检查。(除非.Net 4.5中有更可靠的方法) WebClient=newWebClient(); 尝试 { Stream=client.OpenRead(“http://repo.itechy21.com/updatematerial.txt"); } 捕获(例外情况除外) {MessageBox.Show(例如Message);

我试图从服务器上读取一些数据,用于内置的更新函数,但遇到编译时错误。我有什么办法可以绕开这件事吗?我需要这个来检查用户是否有一个工作的互联网连接,如果没有跳过更新检查。(除非.Net 4.5中有更可靠的方法)

WebClient=newWebClient();
尝试
{ 
Stream=client.OpenRead(“http://repo.itechy21.com/updatematerial.txt"); 
}
捕获(例外情况除外)
{MessageBox.Show(例如Message);}

StreamReader=新的StreamReader(流);// 只需在
try
块之前声明
Stream
变量。否则,其范围仅限于
try
块本身。请记住,变量的作用域是声明它的代码块。只要看一下变量周围最内部的大括号和大括号,您就会立即知道引用该变量在哪里是合法的

Stream stream; // or Stream stream = null;
try
{
    stream = client.OpenRead("http://repo.itechy21.com/updatematerial.txt");
}
// rest of code

您需要在try语句之外声明“Stream Stream”,以便在catch中使用它。

Better declate
Stream-Stream=null。在这种情况下,您可以在try..catch块之后检查流是否为null。你想知道为什么吗?iTechy,这个话题涉及到更多细节,以及要求对否决票发表评论的讨论。TL;DR-无研究显示=>反对票。感谢您在此基础上进行扩展:)
Stream stream; // or Stream stream = null;
try
{
    stream = client.OpenRead("http://repo.itechy21.com/updatematerial.txt");
}
// rest of code