将foreach循环中的项目存储在数组中,然后访问它们

时间:2014-03-11 20:44:08

标签: c# arrays loops foreach

我通过foreach循环获取了一些字符串值并尝试将它们存储到List中,但显然它没有工作/存储。

以下是代码:

private List<string> fbPictures;

void getParseResults()
    {
        var query = ParseObject.GetQuery("IdealStunts").OrderBy("time").Limit(10);
        query.FindAsync().ContinueWith(t =>
        {
            IEnumerable<ParseObject> results = t.Result;
            Debug.LogError("RESULTS: " + results.ToString());
            foreach (var obj in results)
            {
                var fbID = obj.Get<string>("fbid");
                fbPictures.Add(fbID);
                }
            });
    }

如果我尝试在控制台中打印出值,它就可以了。但是将它们添加到列表中并不是。我真的无法解决这个问题。

另外,我可以从列表中访问个别项目吗?说我想要第三个项目。我是否 fbPictures [1] (第二项)?

1 个答案:

答案 0 :(得分:2)

您永远不会初始化fbPictures对象。您需要在添加任何内容之前执行此操作。变化

private List<string> fbPictures;

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

您可以使用以下语法从列表中访问单个项目......

fbPictures[0] //first object
fbPictures[1] // second object

请记住,大多数编程语言中的索引都以0开头,因此最后一项的索引总是比fbPictures.Count少一个。此外,除非您确定它在那里,否则不要尝试访问对象。这是NullReferenceException的快速入场券。