按照相同的顺序,我的意思不是添加键的顺序相同!
说,
1) 我有一本字典 d
2) 我添加 2, 4, 6 作为我的键
3) 现在我通过 d.Keys 属性访问它
现在按照相同的顺序,我的意思是,如果我不断重复步骤 2 和 3。
d.Keys 是否总是以相同的顺序返回键 4、2、6。
鉴于每次都以相同的顺序添加相同的一组键(2,4,6)!
基本上是在字典中添加键是一个确定性的过程?
我已经运行了一些随机样本,看起来Dictionary.Keys 属性每次都为同一组键返回相同的序列。
但是有保证吗?
我试过的示例代码
public static void Main(string[] args)
{
var rand = new Random();
var fixedKeys = Enumerable.Range(1, 100000).Select(x => rand.Next(10000000)).Distinct().ToList();
var dic = new Dictionary<int, string>();
foreach (var item in fixedKeys)
{
dic.Add(item, "");
}
var fixedSequence = dic.Keys;
for (int j = 0; j < 10; j++)
{
dic = new Dictionary<int, string>();
foreach (var item in fixedKeys)
{
dic.Add(item, "");
}
if (!dic.Keys.SequenceEqual(fixedSequence))
{
Console.WriteLine("Order changed");
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |