在C#中使用静态变量有什么用?什么时候用?为什么我不能在方法中声明静态变量?我在C#中搜索过静态变量,但我仍然没有得到它的用途。另外,如果我尝试在方法中声明变量,它将不会授予我执行此操作的权限。为什么?我看过一些关于静态变量的例子。我已经看到我们不需要创建类的实例来访问变量,但这还不足以理解它的用途以及何时使用它。第二件事class Book{
public static int myInt = 0;}public class Exercise{
static void Main()
{
Book book = new Book();
Console.WriteLine(book.myInt); // Shows error. Why does it show me error?
// Can't I access the static variable
// by making the instance of a class?
Console.ReadKey();
}}
3 回答
达令说
TA贡献1821条经验 获得超6个赞
一个static
变量,股吧之类的所有实例中的价值。
示例未声明为静态:
public class Variable{ public int i = 5; public void test() { i = i + 5; Console.WriteLine(i); }}public class Exercise{ static void Main() { Variable var = new Variable(); var.test(); Variable var1 = new Variable(); var1.test(); Console.ReadKey(); }}
说明:如果查看上面的示例,我只是声明int
变量。当我运行此代码时,输出将是10
和10
。这很简单。
现在让我们看一下静态变量; 我将变量声明为a static
。
静态变量的示例:
public class Variable{ public static int i = 5; public void test() { i = i + 5; Console.WriteLine(i); }}public class Exercise{ static void Main() { Variable var = new Variable(); var.test(); Variable var1 = new Variable(); var1.test(); Console.ReadKey(); }}
现在,当我运行上面的代码时,输出将是10
和15
。因此静态变量值在该类的所有实例之间共享。
慕斯王
TA贡献1864条经验 获得超2个赞
C#根本没有静态变量。您可以通过C#在特定类型定义中声明静态字段。静态字段是一种状态,与特定类型的所有实例共享。因此,静态字段的范围是整个类型。这就是为什么你不能在方法中声明静态字段的原因- 方法本身就是一个范围,方法中声明的项必须在方法的边界上不可访问。
- 3 回答
- 0 关注
- 1164 浏览
添加回答
举报
0/150
提交
取消