2015-12-11 156 views
0

我有一個字符串,並希望將這個字符串中的每個單詞字符存儲在鋸齒形數組中,而不使用split()方法,只是循環。我想這個代碼,但它沒有工作,我想結果會是這樣的事情:在一個鋸齒形數組中存儲字符串字符

sepwords[0][1] = {H,e,l,l,o}; 
sepwords[0][2] = {h,o,w}; 
sepwords[0][3] = {a,r,e}; 
sepwords[0][4] = {y,o,u}; 

我試過代碼:

for (int i = 0; i < length; i++) 
{ 
    letters[i] = text[i]; 
} 

foreach (char item in letters) 
{ 
    for (int i = 0; i < length; i++) 
    { 
     if (letters[i] != ',' || letters[i] != ';' || letters[i] != '!' || letters[i] != '?' || letters[i] != '.' || letters[i] != ' ') 
     { 
      for (int j = 0; j < length; j++) 
      { 
       sepwords[0] = new char[length]; 
       sepwords[0][j] = letters[i]; 
      } 
     } 
     else 
     { 
      continue; 
     } 
    } 

} 

回答

0

sepwords[0] = new char[length];

你覆蓋每陣列一個新的,當你達到一個新的詞。

+0

,但我想沒有這一行,並得到: 未處理的異常:System.NullReferenceException:對象引用未設置到對象 – Omar

+0

的實例嘛。是。因爲你沒有初始化任何東西。要記住的關鍵是每次訪問'sepwords [0]'。那麼'sepwords [1]'呢? – Draco18s

0

你可以簡單地做..

char[][] sepwords = new char[4][]; 
sepwords[0] = "Hello".ToCharArray(); 
sepwords[1] = "how".ToCharArray(); 
sepwords[2] = "are".ToCharArray(); 
sepwords[3] = "you".ToCharArray(); 
相關問題