Tag: 代码设计

如何以及何时处置/垃圾收集单例实例

我正在使用从嵌套类创建的Singleton实例。 这个实例保存了一些静态集合,这些集合在处理Singleton时被清除,但问题是我得到了对非null处理的Singleton的引用,它没有正确地进行垃圾回收。 我想知道WHEN以及如何完全处理和垃圾收集我的Singleton实例,以便在dispose(并设置为null)后再次查询实例时,会创建一个新实例。 我对Singleton实例使用以下嵌套模式: public class SingletonClass : IDisposable { private List _collection; private SingletonClass() { } public static SingletonClass Instance { get { return Nested.Instance; //line 1 – this line returns the non-null instance after dispose and setting the Singleton instance to null which is causing problems } } private void Init() { _collection […]

为什么没有string.Split(字符串)重载?

是否有任何有效的理由说明为什么没有String.Split的重载接受分隔符字符串和要分割的文本? string[] Split(string delimiter) 然后就可以像 string input = “This – is – an – example”; string[] splitted = input.Split(” – “); // results in: // { “This”, “is”, “an”, “example” } 我真的知道,我可以轻松地创建一个扩展方法,但必须有正当理由说明为什么没有添加它。 请注意,我不是在寻找如何使用字符串分隔符拆分字符串的解决方案,我正在寻找解释,为什么这样的重载可能会导致问题。 这是因为我认为它不会真正引起问题,我发现初学者很难理解为什么我们必须传递一个实际的string[]而不是一个简单的string作为分隔符。