哈希争抢?

Wel*_*lli 0 c# hashtable

我的应用程序上有以下哈希表:

System.Collections.Hashtable colunas = new System.Collections.Hashtable();
colunas.Add("Nome", "Nome");
colunas.Add("Departamento", "Departamento");
colunas.Add("Cargo", "Cargo");
Run Code Online (Sandbox Code Playgroud)

之后,我将此哈希表作为参数传递给函数,当我在foreach中传递哈希表时,得到以下结果:

Departamento
Nome 
Cargo
Run Code Online (Sandbox Code Playgroud)

为什么结果是按顺序而不是这个:

Nome
Departamento
Cargo
Run Code Online (Sandbox Code Playgroud)

- 编辑 -

好的,我理解了原因,但是我可以使用什么代替哈希表来保存插入顺序?

SLa*_*aks 6

哈希表不保留插入顺序.

相反,它们使用基于键的哈希码的未指定顺序.