2016-02-16 64 views
-3

我想將字符串拆分成兩個不同的數組。基本上,我想這樣的工作:StreamReader讀這樣一行:將字符串拆分成不同的數組

名稱|類型|路徑

,並分離「名」,以「「類型」和「路徑」 | 」。然後將它們添加到他們的數組(「名稱」去數組「名稱」,「類型」「類型」數組和「路徑」數組)「,但我想不出有什麼辦法做到這一點。

最好我想這三個數組停留在數組列表中。

+0

https://www.bing。 com/search?q = C%23 + Split + a + string會讓你開始。你真的不應該使用數組的數組作爲數據結構 - 隨時找到好的重複,解釋每個記錄類的正確方法。 –

+0

@AlexeiLevenkov我曾尋求過它。不幸的是在這裏發佈瞭解決方案,我會接受的答案,但由於負面投票,這傢伙出去... –

回答

0

你應該試試這個希望這本書能解決你的問題

var yourstring = "name|type|path"; 
string[] yourarrayname = yourstring.Split('|'); 
var name = yourarrayname[0]; 
var type=yourarrayname[1]; 
var path = yourarrayname[2]; 
+0

我如何可以將增值稅添加到列表? –

0

如果你有一個流閱讀器,你可能想是這樣的:

List<char> chars = new List<char>(); 

List<string> names = new List<string>(); 
List<string> types = new List<string>(); 
List<string> paths = new List<string>(); 

int index = 1; 
while (streamReader.Peek() >= 0) 
{ 
    char ch = (char)reader.Read(); 

    if (ch == '|') 
    { 
    switch(index) 
    { 
     case 1: names.Add(new String(chars.ToArray())); 
     case 2: types.Add(new String(chars.ToArray())); 
     case 3: paths.Add(new String(chars.ToArray())); 
    } 

    index = (index==3? 1: index+1); 
    chars.Clear(); 
    continue; 
    } 

    chars.Add(ch); 
}