我發佈了一個對this question的回答,其中包括關於String.Split()應該如何接受IEnumerable字符串>而不是字符串[]的結尾的非常短暫的咆哮。從對象結果繼承IEnumerable
這讓我思考。如果從其他所有東西繼承的基類Object類提供了IEnumerable的默認實現,那麼現在所有東西都只返回一個Enumerator到一個項目(本身) - 除非重寫了其他類似於集合類的東西。
這個想法是,然後如果像String.Split()方法確實接受IEnumerable而不是數組我可以傳遞一個單一的字符串到函數,它只會工作,而不是有很多關於創建一個分隔符數組。
我確定有各種各樣的原因不這樣做,其中最重要的是,如果一切都實現了IEnumerable,那麼實現在默認情況下執行的幾個類可能會表現出與您預期不同的行爲在某些情況下。但我仍然認爲這將是一個有趣的練習:會有什麼其他的後果?
我不知道該不該拆我的答案... – MagicKat 2008-09-30 20:54:50