我有一个名为'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)
{
所以我想知道这三个步骤在哪里出错了?
答案 0 :(得分:3)
我的猜测是您仍然在downloader_OpenReadCompleted
中声明了一个新的局部变量,而不是分配给现有变量:
pri1.RemoveAt(0);
string last = pri1[pri1.Count() - 1];
pri1.Remove(last);
str = pri1;
答案 1 :(得分:1)
您似乎意外地声明了一个新变量str
,而不是分配给现有字段。
替换最后一行代码:
List<string> str = pri1;
用这个:
this.str = pri1;
答案 2 :(得分:0)
你做错了。
List<string> str = pri1;
删除上一行
和
将您的上一个foreach修改为以下
foreach (string item in pri)