C# foreach语句无法运行

C# foreach语句无法运行,c#,xamarin,odata,C#,Xamarin,Odata,我想在Xamarin中使用nortwind服务测试odata。我有一个点击按钮,可以调用oDataClient 我想实现以下场景:当我获得数据时,我想在控制台上显示它们。但是,它给出了以下突出显示的错误 我对它做了一个研究,它说我应该在客户端前面添加wait操作符,然后它给了我另一个错误,并要求我在方法中使用Task。然后,当我添加它时,它会给我另一个错误。我想知道最终的解决方案,而不是永远挂在那里 您需要等待“FindEntriesAsync()”方法 现在您正在尝试迭代任务,而不是任务的结

我想在Xamarin中使用nortwind服务测试odata。我有一个点击按钮,可以调用oDataClient

我想实现以下场景:当我获得数据时,我想在控制台上显示它们。但是,它给出了以下突出显示的错误

我对它做了一个研究,它说我应该在客户端前面添加
wait
操作符,然后它给了我另一个错误,并要求我在方法中使用
Task
。然后,当我添加它时,它会给我另一个错误。我想知道最终的解决方案,而不是永远挂在那里


您需要等待“FindEntriesAsync()”方法

现在您正在尝试迭代任务,而不是任务的结果

试试这个:

 var packages = await client.For("Customers")Top(2).FindEntriesAsync();

您希望枚举任务的结果,而不是任务本身

foreach(var package in packages.Result) {
...
}

那么,什么是不清楚的?不能在上执行foreach,只能在和上执行。顺便说一句,如果你能将错误信息的完整错误文本添加到你的问题中,那会很有帮助。它在屏幕截图中可见,但在全文搜索中不可见。请检查我更新的问题您是指
软件包。结果
?请将您所有错误的准确全文粘贴到问题中。FWIW,我甚至不尝试回答错误消息显示为屏幕截图的问题。一般来说,我疲惫的老眼睛没有足够的忠实度来阅读错误,加上我无法将帖子剪切粘贴到搜索引擎中。非常感谢Jason。我现在正在测试它。听起来我的方向是对的。让我快速测试一下。嗨,Jason,我已经运行了代码,它不再给我那个错误了,但是即使我在foreach上放了一个调试点,它也不会在控制台上显示任何东西,什么都不会发生。快速提示:我已经更改了
控制台。WriteLine([“ContactName”])
。顺便说一句,我已经标记了您的答案。从您发布的错误来看,任务似乎包含一个IEnumerable,其中包含一个字典-您可能需要在数据中深入挖掘以找到实际结果,或者重新构造您的查询以生成一个更平坦的结果集进行迭代。我已经将您的答案作为替代方法和您的努力进行了投票。