静态场的替代方案

本文关键字:方案 静态 | 更新日期: 2023-09-27 18:15:30

在c#中是否存在静态字段不被垃圾收集的替代方案?如果我想声明字符串的数量,我想在整个程序中使用的常量,我正在寻找一种方法。

静态场的替代方案

您可以使用const,但必须是value

public class Foo 
{
   public const string Bar = "Bar";
}

见https://msdn.microsoft.com/en-us/library/e6w8fe1b.aspx

作为Richard schneider 答案的补充,有时您不能使用const(编译器在编译时应该知道const值),但希望提供像行为r一样的常数。在这种情况下,readonly是选择:

  public class Foo {
    // Settings should be read and then preserved intact
    public static readonly String Settings = File.ReadAllText(@"C:'MySettings.txt");
    ...
  }

您可以使用Const

Const是保留字。它允许我们指定一个值是不变的,并且在编译后不能修改。Const值和Const字符串一样,帮助我们简化和优化程序。

,

public static class Constants
{
    public const string Name = "abc";
}
https://msdn.microsoft.com/en-us/library/acdd6hb7.aspx