Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.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# visualc中的全局变量#_C#_Visual Studio_Global Variables - Fatal编程技术网

C# visualc中的全局变量#

C# visualc中的全局变量#,c#,visual-studio,global-variables,C#,Visual Studio,Global Variables,如何在Visual C中声明全局变量?这个怎么样 public static class Globals { public static int GlobalInt { get; set; } } 请注意,这不是线程安全的。类似于Globals.GlobalInt的访问 这可能是另一个讨论,但一般来说,在传统的OO开发中并不真正需要全局变量。我想退一步看看为什么你认为你需要一个全局变量。也许有更好的设计 使用const关键字: public const int MAXIMUM_CACH

如何在Visual C中声明全局变量?

这个怎么样

public static class Globals {
    public static int GlobalInt { get; set; }
}
请注意,这不是线程安全的。类似于
Globals.GlobalInt的访问

这可能是另一个讨论,但一般来说,在传统的OO开发中并不真正需要全局变量。我想退一步看看为什么你认为你需要一个全局变量。也许有更好的设计

使用const关键字:

public const int MAXIMUM_CACHE_SIZE = 100;
把它放在一个静态类中

public class Globals
{
    public const int MAXIMUM_CACHE_SIZE = 100;
}

还有一个全局变量类:)

在C#中,最接近的方法是在公共静态类中声明公共变量。但即使这样,您也必须确保导入名称空间,并在使用它时指定类名。

公共静态字段可能是最接近全局变量的字段

public static class Globals
{
  public static int MyGlobalVar = 42;
}

但是,您应该尽量避免使用全局变量,因为这会使您的程序复杂化,并使自动化测试等工作更难实现。

const关键字不是使其保持不变吗?是否可以更改?“const关键字用于修改字段或局部变量的声明。它指定不能修改字段或局部变量的值。”-const字段不可变。;)哈哈,是的-我读问题太快了,我通常只在全局公开值时提供contant。其他所有内容都在实例变量中。:)您正在创建ASP.NET网页或Windows窗体应用程序吗?如果是ASP.NET,请参阅。如果表单应用程序-查看它在什么意义上不是线程安全的?这与非静态属性有什么不同?-1因为没有解释为什么它不是线程安全的。。。需要更多解释这不是关于线程安全的问题。如果您对线程安全感兴趣,那么请提出另一个问题,或者更新此问题以明确包含线程安全解决方案。如果你从来没有听说过+1这个词,那么你也可以看看这个问题:线程安全是什么?我会退一步,看看为什么你认为你需要一个全局变量。可能有更好的设计。我发现在大型项目中,跟踪全局变量而不是实例变量的使用要困难得多。这很有帮助,尤其是在维护期间。