2011-05-23 51 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;