2016-07-03 39 views
0

我有一個字符串:C#:在將字符串轉換錯誤字典由字符的第一次出現分隔

"abc:def,ABC:DEF,Time:03:04:59,Date:01:01:2016" 

我想要的結果字符串是:

abc:def 
ABC:DEF 
Time:03:04:59 
Date:01:01:2016 

我收到編譯錯誤

string.Split(params char [])的最佳重載方法匹配有一些無效參數

當我嘗試下面的代碼:

Result = string.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) 
       .Select(part => part.Split(':',2)) 
       .ToDictionary(split => split[0], split => split[1]); 

指着part.Split(':',2)

回答

2

的正確方法拆分字符串以下

string test = "abc:def,ABC:DEF,Time:03:04:59,Date:01:01:2016"; 
var Result = test.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) 
      .Select(part => part.Split(new char[] { ':'}, 2)) 
      .ToDictionary(split => split[0], split => split[1]); 

所有這一切需要更多的Split overloads的比一個參數不允許第一個參數是單個字符(或更好,params char [])但要求第一個參數是一個字符(或字符串)的數組

+0

我與lambda表達式掙扎,我認爲這是與這樣做。順便說一句,悲傷的是,分割過載需要多個參數並沒有指定它需要是一個字符數組或字符串。謝謝。 – Sanu

相關問題