处置重复使用的对象

dan*_*ood 0 c# garbage-collection dispose object

我环顾四周,找不到最佳做法.我有一个循环创建一个对象,然后每次运行一个进程时处理它.但是,此对象始终相同,并且每分钟左右在程序中使用,这也是程序中其他进程运行的频率.我应该Dispose();在每次运行进程时调用此对象还是只保留它,因为它始终完全相同?语言是C#.

Jim*_*hel 5

如果它按你编写的方式工作,看起来你不应该改变它.除非创建或销毁对象特别昂贵.但是如果除了在每分钟的短暂时间内不需要物体,为什么还要保留它?

以这种方式看待它.如果对象仅由该特定任务使用,则使该任务控制对象的生命周期使得代码更简单.否则,您的主程序必须在启动时创建对象并在关闭时将其丢弃.此外,程序中的其他线程或任务可能会访问它.限制对仅需要它的任务的访问可以防止一大堆其他问题.