【发布时间】:2016-02-27 14:47:29
【问题描述】:
我的代码是:
if (textBox1.Text != "")
{
StreamReader tx = new StreamReader(textBox1.Text);
}
else
{
StreamReader tx = new StreamReader("new.txt");
}
string line;
while ((line = tx.ReadLine()) != null)
{
如果我删除“if”并将其保留为:
StreamReader tx = new StreamReader("new.txt");
string line;
while ((line = tx.ReadLine()) != null)
{
一切正常。为什么 if 会弄乱我的代码?
【问题讨论】:
-
在块
{ ... }内声明的变量仅在该块内可见。在if { }块内声明 StreamReader 不允许在其外部使用它,在方法块内声明它允许它在该方法块内的任何地方使用。这是用 C# 编程所需的基本知识(这个概念在任何地方都很有用)。请阅读一些关于C# Scopes
标签: c#