2011-05-23 45 views
0

我稱之爲「PRI1」一個ArrayList,我想這個數組列表中的可用其他方法:製作一個變量訪問其他方法

void downloader_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e) 
     { 
      if (e.Error == null) 
      { 
       Stream responseStream = e.Result; 
       StreamReader responseReader = new StreamReader(responseStream); 
       string response = responseReader.ReadToEnd(); 

       string[] split1 = Regex.Split(response, "},{"); 
       List<string> pri1 = new List<string>(split1); 
       pri1.RemoveAt(0); 
       string last = pri1[pri1.Count() - 1]; 
       pri1.Remove(last); 

       List<string> str = pri1; 
      } 
     } 

這樣一個建議,我是將它保存到一個類變量,我沒有:

private List<string> str = new List<string>(); 

不幸 'PRI1' 的元素未成功傳遞到 'STR':

void AddPrimaryMarkerGraphics(object sender, getPrimaryListCompletedEventArgs e) 
     { 
     foreach (string item in str) 
      { 

所以我想知道在這3個步驟中哪裏出了問題?

回答

3

猜測是,你仍然宣稱你downloader_OpenReadCompleted內的新的局部變量,而不是分配給現有的變量:

pri1.RemoveAt(0); 
string last = pri1[pri1.Count() - 1]; 
pri1.Remove(last); 
str = pri1; 
0

你做錯了。

List<string> str = pri1; 

刪除上面的行

修改最後的foreach以下

foreach (string item in pri) 
+0

PRI是在不同的函數中的局部變量...我不認爲多數民衆贊成在去上班。 – Yaur 2011-05-23 12:43:59

1

看起來你意外宣佈一個新的變量str,而不是分配給現有的場地。

替換代碼最後一行:

List<string> str = pri1; 

與此:

this.str = pri1;