首页 > 解决方案 > 如何从 Unity 中的 Firestore 阵列获取内容?

问题描述

我正在努力理解 Unity/C# 中的 Firestore 数组。

DocumentSnapshot snap = task.Result;
IDictionary<string, object> dict = snap.ToDictionary();
object questData = dict["questData"];

我怎么说 results = dict["questData"][0].results?

在此处输入图像描述

在此处输入图像描述

调试器将 questData 显示为对象我不知道怎么说: object[] questData = dict["questData"]

它来自 Firestore 作为一个对象,但它实际上是一个数组。

标签: arraysunity3dgoogle-cloud-firestore

解决方案


我看不到它的数组或列表是否为 IEnumerable..

但你可以用它来拆箱对象:

var x =dict["quesData"] as object[] or List<object>

并按照您应用相同架构的类型。

如果 collection (ict["questData"]) 是字典,你可以应用它:

foreach (KeyValuePair<string, object> pair in dict["questData"])
{
    Console.WriteLine("{0}: {1}", pair.Key, pair.Value);
}

要找到其他键,我看不到键是否是字符串,所以对象应该完成这项工作以防万一......

所以你也可以写: var x =dict["quesData"] as Dictionary<string, object>


推荐阅读