Почему Foreach именно в таком порядке выводит объект?
A
B
Q
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class learningScript : MonoBehavior {
public Hashtable inventory = new Hashtable();
void Start() {
inventory.Add("age", "Q");
inventory.Add("gender", "A");
inventory.Add("name", "B");
foreach (string invert in inventory.Keys) {
Debug.Log(inventory[invert]);
}
}
void Update() {
}
}
Ответ
Это не foreach выводит, это Hashtable хранит. Эта коллекция не сохраняет порядок элементов. List порядок сохранит, SortedDictionary отсортирует, а хэш-таблицы сохранят в труднопредсказуемом порядке. Если важны и исходный порядок, и быстрый индексированный доступ, можно хранить в двух коллекциях сразу.
Комментариев нет:
Отправить комментарий