我发布了一个对this question的回答,其中包括关于String.Split()应该如何接受IEnumerable字符串>而不是字符串[]的结尾的非常短暂的咆哮。从对象结果继承IEnumerable
这让我思考。如果从其他所有东西继承的基类Object类提供了IEnumerable的默认实现,那么现在所有东西都只返回一个Enumerator到一个项目(本身) - 除非重写了其他类似于集合类的东西。
这个想法是,然后如果像String.Split()方法确实接受IEnumerable而不是数组我可以传递一个单一的字符串到函数,它只会工作,而不是有很多关于创建一个分隔符数组。
我确定有各种各样的原因不这样做,其中最重要的是,如果一切都实现了IEnumerable,那么实现在默认情况下执行的几个类可能会表现出与您预期不同的行为在某些情况下。但我仍然认为这将是一个有趣的练习:会有什么其他的后果?
我不知道该不该拆我的答案... – MagicKat 2008-09-30 20:54:50