C# 字典中不存在给定的键。使用解析对象 公共异步任务检索项(字符串objectId) { ParseQuery=ParseObject.GetQuery(“项”); ParseObject p=wait query.GetAsync(objectId); Items returnEvent=新项目() { ItemName=p.Get(“ItemName”), ItemPrice=p.Get(“ItemPrice”), ItemDescription=p.Get(“ItemDescription”), Id=p.ObjectId, }; 返回事件; }

C# 字典中不存在给定的键。使用解析对象 公共异步任务检索项(字符串objectId) { ParseQuery=ParseObject.GetQuery(“项”); ParseObject p=wait query.GetAsync(objectId); Items returnEvent=新项目() { ItemName=p.Get(“ItemName”), ItemPrice=p.Get(“ItemPrice”), ItemDescription=p.Get(“ItemDescription”), Id=p.ObjectId, }; 返回事件; },c#,windows-phone-8,parse-platform,C#,Windows Phone 8,Parse Platform,我不知道错误在哪里:( public异步任务GetItems() { 列表iii=新列表(); 尝试 { var query=(来自ParseObject.GetQuery(“项”)中的项) orderby Item.CreatedAt 选择项目); IEnumerable items=wait query.FindAsync(); foreach(项目中的var ii) { 项目e=等待此项。检索项目(ii.获取(“项目”); 三.添加(e); } } 捕获(例外情况除外) { Debug.W

我不知道错误在哪里:(

public异步任务GetItems()
{
列表iii=新列表();
尝试
{
var query=(来自ParseObject.GetQuery(“项”)中的项)
orderby Item.CreatedAt
选择项目);
IEnumerable items=wait query.FindAsync();
foreach(项目中的var ii)
{
项目e=等待此项。检索项目(ii.获取(“项目”);
三.添加(e);
}
}
捕获(例外情况除外)
{
Debug.WriteLine(“错误为”+ex.Message);
}
回报三;
}
Out Put是指字典中不存在给定的密钥


我只想使用Linq查询将数据从解析对象返回到长列表选择器或列表框

您需要了解有关如何调试的更多信息。将问题隔离到一行代码中,然后您的工作将更容易找到它引发异常的原因以及如何修复它

我要做的第一件事是,如注释中所述,将断点放在两个方法的开头,在调试模式下运行项目,然后逐行(按F10或F11)找出哪一行确切地抛出异常

根据当前信息,我只能猜测可能的问题是,
ParseObject
不包含您尝试获取的属性。请检查parse.com数据浏览器中的列名,并查看它是否与您的代码尝试访问的列名匹配

如果您设法调试代码并发现它在第行抛出异常,则执行以下操作:

   public async Task<List<Items>> GetItems()
    {
        List<Items> iii = new List<Items>();
        try
        {
            var query = (from Item in ParseObject.GetQuery("Item")
                         orderby Item.CreatedAt
                         select Item);
            IEnumerable<ParseObject> items = await query.FindAsync();
            foreach (var ii in items)
            {
                Items e = await this.RetrieveItems(ii.Get<string>("Item"));

                iii.Add(e);


            }
        }
        catch (Exception ex)
        {
            Debug.WriteLine("Error is "+ ex.Message);

        }
        return iii;
    }
ParseObjectVariable.Get(“columnName”);

然后它可能表明我的猜测是正确的。

不止你一个人。如果你没有指出引发异常的代码行或行为与你认为的不一样,我也不知道错误在哪里。错误在第二部分,但我不知道我在哪里尝试过多次在调试模式下运行你的应用,请输入breakpoint在两个方法的开头,然后逐行找出哪一行准确地抛出异常。Remove/remark try catch也有助于发现异常源
   public async Task<List<Items>> GetItems()
    {
        List<Items> iii = new List<Items>();
        try
        {
            var query = (from Item in ParseObject.GetQuery("Item")
                         orderby Item.CreatedAt
                         select Item);
            IEnumerable<ParseObject> items = await query.FindAsync();
            foreach (var ii in items)
            {
                Items e = await this.RetrieveItems(ii.Get<string>("Item"));

                iii.Add(e);


            }
        }
        catch (Exception ex)
        {
            Debug.WriteLine("Error is "+ ex.Message);

        }
        return iii;
    }
ParseObjectVariable.Get<string>("columnName");