变量在Page_Load方法中声明时不可访问
本文关键字:声明 访问 方法 Page Load 变量 | 更新日期: 2023-09-27 18:19:24
当我声明一个变量时,让我们输入
public string [] companiesArray = {"Google","BBC","CNN","SportsDirect","Microsoft"};
紧跟在public分部类之后。页,变量是可访问的,但是当我在Page_Load方法中声明变量时,变量是不可访问的。
public void Page_Load(object sender, EventArgs e)
{
string [] companiesArray = {"Google","BBC","CNN","SportsDirect","Microsoft"};
}
有什么问题吗?有谁能帮我一下吗?
你需要了解作用域。
在页面中定义数组时,将作用域定义为类。你可以在类的任何地方使用这个变量。
public partial class Default : System.Web.UI.Page
{
string[] companiesArray;
public void DoFizz()
{
companiesArray[0] = "Fizz";
}
public void DoBuzz()
{
companiesArray[1] = "Buzz";
}
}
当您在页面加载中定义它时,则作用域限制在该方法中,因此您只能在该方法中使用它。
public partial class Default : System.Web.UI.Page
{
public void Page_Load(object sender, EventArgs e)
{
string[] companiesArray;
}
}
这样做的一个主要优点是,如果您在方法中声明变量,它可以防止您意外地使用可能已经在其他地方定义和使用的变量。如果不是这种情况,您将无法保证变量的状态。
如果您在Page_load
中声明该变量,则该作用域是本地变量。
如果在public partial class Default : System.Web.UI.Page
它是一个全局变量,适用于整个页面。
阅读Scope
如果在Page_Load
方法中定义了一个变量,那么它是该方法的局部变量
如果你在方法之外定义它,它对其他代码是可见的,并且通常被称为字段,例如
public partial class Page : System.Web.UI.Page
{
private string[] companiesArray = {"Google","BBC","CNN","SportsDirect","Microsoft"};
public void Page_Load(object sender, EventArgs e)
{
//companiesArray is visible here
}
public void SomeOtherMethod()
{
//companiesArray is visible here too
}
}