【问题标题】:Can't retrieve an array from Parse无法从 Parse 检索数组
【发布时间】:2014-12-15 15:53:07
【问题描述】:

这里的小问题。我正在构建一个以 C# 和 Parse.com 作为后端的 .NET 网站。我在从数据库中获取数组时遇到了一些麻烦。目前我对常规字符串值使用以下行,效果很好:

string objTitle = vormingObject.Get<string>("title");

但是当我尝试检索一个数组时,我得到一个错误。

var periodes = vormingObject.Get<string[]>("periodes");
vorming.Periodes = periodes;

我尝试将 var 更改为 string[] 但这也不起作用。任何帮助将不胜感激

编辑:错误: System.InvalidCastException:无法将“System.Collections.Generic.List`1[System.Object]”类型的对象转换为“System.String[]”类型

解决方案:正如以下用户之一所述:

 IList<string> Periodes = vormingObject.Get<IList<string>>("periodes");

【问题讨论】:

  • docs mention IList&lt;T&gt; 在某些情况下有效吗?
  • derp,添加了错误。但不,IList 不起作用。将重试以确保
  • 好的 nvm。它实际上是 IList,但实际错误只是别的东西。我觉得自己很愚蠢。

标签: c# arrays parse-platform


【解决方案1】:

我不知道 Parse.com API,但例外:

无法将System.Collections.Generic.List&lt;System.Object&gt; 类型的对象转换为System.String[] 类型

很清楚:API 找到了List&lt;object&gt;,但它不能为您将其转换为请求的字符串数组。将您的代码更改为:

var periodes = vormingObject.Get<List<object>>("periodes");

然后您可以将对象转换为适当的类型,例如:

IEnumerable<string> periodStrings = periodes.Cast<string>();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-09
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多