Порядок вывода foreach!

200
25 октября 2017, 02:55

Почему 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() {
 } 
}
Answer 1

Это не foreach выводит, это Hashtable хранит. Эта коллекция не сохраняет порядок элементов. List порядок сохранит, SortedDictionary отсортирует, а хэш-таблицы сохранят в труднопредсказуемом порядке. Если важны и исходный порядок, и быстрый индексированный доступ, можно хранить в двух коллекциях сразу.

READ ALSO
Как добавить TextBox с “одноразовой” подсказкой в C#?

Как добавить TextBox с “одноразовой” подсказкой в C#?

Тут увидел годное решение для реализации подсказки в TextBoxНо есть проблема

326
Используемая версия языка в Visual Studio

Используемая версия языка в Visual Studio

Как узнать, какая версия языка C# используется в Visual Studio 2015? Как обновить до последней?

310