2010-07-10 39 views
1

...例如。 String.Split(Delim As String)。String.Split in .Net FW - 爲什麼沒有使用單個字符串的重載?

+0

我不指望一個確定的答案的那些,當然 - 這只是其中一件似乎有點奇怪的事情 - 要嘗試如此簡單mystring.Split(「」)只會被編譯器罵。 – 2010-07-10 14:41:35

+1

它確實有一個需要一個字符的重載。 – 2010-07-10 14:52:27

+0

不是根據文檔http://msdn.microsoft.com/en-us/library/system.string.split.aspx - 這是沒有文檔? – 2010-07-10 14:54:31

回答

5

是的,這很奇怪,自己多次詛咒它。同樣奇怪的是,採用字符串的Split()重載在.NET 1.x中不可用。好吧,也許很奇怪。也許有些「沒有太多超負荷!」癱瘓在這裏。 StringSplitOptions和Count參數可以生成它們的組合數。

與擴展方法修復:

public static class Extensions { 
    public static string[] Split(this string s, string separator) { 
     return s.Split(new string[] { separator }, StringSplitOptions.None); 
    } 
} 

並添加您需要的,如果你也想覆蓋StringSplitOptions和計數:)

+1

太多的重載聽起來像是一個合理的猜測,對我而言,感謝Hans - 擴展方法'變通方法'是一個很好的選擇 - 至少直到.Net 7.0發佈,它支持String.Split的1437個不同重載。 – 2010-07-10 16:08:46

相關問題