2012-10-16 74 views

回答

9
public string[] Split(params char[] separator) 

的方法參數是params char[]params關鍵字表示您可以顯式提供一個數組,或讓編譯器爲您創建一個。在你的第一種形式中,你明確提供了數組。當然,如果您想使用該方法的其他overloads來指定其他行爲,則需要使用此表單。否則,您可以簡單地使用第二種形式,並將分隔符按行和逗號分隔以便於使用。

爲什麼先前的編碼器在第二種情況下選擇了第一種形式,我不能說。我不知道以前的框架版本中需要顯式數組的方法表單。但是,如果您願意,您應該可以安全地更改表單,並且您將確保進行測試以驗證預期的行爲。

+1

+1對於很好的解釋 –

+1

+1強調事實,這兩條線使用一個和相同的拆分過載。 – horgh

2

第一個選項,如果你想分割在多個字符,那麼你可以指定你的字符數組。如果將只有一個字符進行分割,則使用第二個選項。

考慮下面的例子:

string someString = "Somestring;abc.def.abc"; 
//following will return 4 elements array, after splitting on ';' and '.' 
string[] splitedArray = someString.Split(new[] { ';','.' }); 
//following will return 2 elements in array after splitting on a single character 
string[] splitedOnSingleCharacter = someString.Split(';'); 
相關問題