什么是静态变量的续航时间在C#.NET

时间:2019-01-30 18:28:41

标签: c# .net

我已经创建了我在任务计划正在调度作为作业的控制台应用程序。我在我的申请一个一流水平的静态变量,下面是示例代码。当我的工作是第一次,没有问题运行。当我立即重新运行该作业时,由于在finally块中将其设置为NULL并在try块中执行“ sb.clear()”,因此收到“对象引用”错误-静态变量将仅初始化一次。

Class Temp
{
   public static StringBuilder sb = new StringBuilder();
   try
   {
       sb.clear();
       ... some code
   }
   catch
   {}
   finally
   {
      sb = null
   }
}

我的任务计划程序作业将每24小时运行。由于我将变量设置为NULL,因此第一次运行一段时间后会收集垃圾吗?这样,当我的工作在24小时后第二次运行时,我就不会遇到“对象引用”错误(考虑到将再次创建静态变量)。

我想知道什么是静态变量的生命时间,如果我设置为NULL,如果不是我设置为NULL。请澄清。

2 个答案:

答案 0 :(得分:0)

静态变量的生存期与您的应用程序正在运行的时间一样长。 在此处查看更多详细信息:

Scope and persistence Lifetime of data in variable static

我希望这些信息有用

答案 1 :(得分:-2)

sb.clear(); //不能在null stringBuilder上使用 在这种情况下,最后将sb变量设置为null。 所以不要使用Final