2013-06-26 60 views
1

道歉,如果這之前已經問過,但我找不到它,如果有。爲什麼TextInfo.ListSeparator作爲字符串返回?

我目前正在重構一些代碼,並刪除硬編碼列表分隔符,我分裂的東西。

我用System.Globalization命名空間中的TextInfo.ListSeparator替換它,並注意到它返回一個字符串而不是char。

是否有任何文化中使用多個單個字符作爲列表分隔符?或者完全可以這樣做:

line.Split(culture.TextInfo.ListSeparator.First()); 

假設它只會返回一個長度爲一個字符的字符串。

+0

可能有一些文化使用多字符的列表分隔符,但在一般情況下,該設置是由用戶自定義的反正。無論文化如何,任何人都可以配置他的系統,以便使用多字符列表分隔符。 –

+1

似乎沒有任何文化的列表分隔符不是1個字符'CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => c.TextInfo.ListSeparator.Length!= 1)',但是有可能有人可以創造自己的文化。 – vcsjones

回答

2

爲什麼無法迴避的假設,使用類似

line.Split(new string[] {culture.TextInfo.ListSeparator}, StringSplitOptions.None); 
+0

有趣的是,我會給你一個去,讓你知道它是怎麼回事。乾杯。 –

相關問題