Элементы в словаре по определению неупорядочены.Это означает, что, как только вы вызовете args.Snapshot.Value as Dictionary<string, System.Object>
, любая информация о порядке дочерних узлов снимка будет потеряна.
Если вы хотите сохранить порядок, вы должны зациклить дочерние элементы снимка и толькоЗвоните .Value
, когда порядок больше не важен (например, когда вы попадаете в свойства).Вот как то так:
void HandleValueChanged(object sender, ValueChangedEventArgs args) {
if (args.DatabaseError != null) {
Debug.LogError("Error: " + args.DatabaseError.Message);
return;
}
foreach (DataSnapshot childSnapshot in snapshot.Children)
{
Debug.log(childSnapshot.Key+": "+childSnapshot.Child("uid").Value+" "+childSnapshot.Child("score").Value
}
}