我有一个我不知道的哈希表是什么内容.
现在我想从中得到一把钥匙和价值;
我使用哈希表是因为它的速度因为哈希表的内容超过4,500,000 KeyValuePair所以我不能使用GetEnumerator它降低程序速度
你使用List<TKey>:
Dictionary<string, string> dict = ... your hashtable which could be huge
List<string> keys = new List<string>(dict.Keys);
int size = dict.Count;
Random rand = new Random();
string randomKey = keys[rand.Next(size)];
Run Code Online (Sandbox Code Playgroud)
我们只是创建一个List<TKey>元素指向内存中与哈希表的键相同的位置,然后从这个列表中选择一个随机元素.
如果你想从哈希表中获取一个随机元素值,那么给定一个随机密钥应该非常简单.
string randomeElement = dict[randomKey];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6748 次 |
| 最近记录: |