2017-10-09 17 views
-7

我以前一直使用分開我的琴絃只有將字符串分割由幾個隔板

.Split(new char[]{" "},StringSplitOptions.RemoveEmptyEntries) 

然而現在,該講師給了我們的問題,必須由(, ; : . ! () " ' \/[ ] space)分割字符串來解決。我該怎麼做?我試圖在每一個周圍放上「」,但它似乎不起作用......對於noob問題抱歉。

嘗試:

var listchence = Console.ReadLine().Split(new char[] {",", ";" ":", ".", "!" "(", ")", """, "'", "\", "/", "[", "]", " "} .Select(int.Parse).ToList(); 
+1

請顯示你已經嘗試並解釋你的意思是不工作 –

+0

https://msdn.microsoft.com/en-us/library/b873y76a(v=vs.110).aspx –

+3

好的,所有的文章有一個負分數。時間放棄和閱讀[問]並採取[旅遊] – Plutonix

回答

0

有它接受多個定界符的過載。您需要在每個分隔符周圍放置單引號,因爲它接受字符數組,而不接受字符串數組。你的一些分隔符都需要在他們的前面添加一個反斜槓轉義,如「和\。

+0

從技術上講,'Split []'方法需要超過'string []' – gunr2171

-1
.Split(new char[]{',',';',':','.','!','(',')', '\"', '\'','\\','/','[',' ]',' '},StringSplitOptions.RemoveEmptyEntries) 
+3

雖然此代碼片段可能解決問題,[包括解釋] (//meta.stackexchange.com/questions/1147 62 /解釋完全基於代碼的答案)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – gunr2171

2

在C#中有使用""''之間的差異。""是指定string'是指定一個字符要初始化char[]但字符串填充它

你的代碼應該是:。

var listchence = Console.ReadLine() 
         .Split(new char[] {',', ';',':', '.', '!', '(', ')', '"', '\'', '\\', '/', '[', ']', ' '}) 
         .Select(int.Parse).ToList(); 

注意,在'\的情況下,你需要逃避,然後在它

另一種選擇是使用Split重載收到string[]前添加另一個\但所有分離器是單個字符最好去與char[]過載。