zoukankan      html  css  js  c++  java
  • 遍历数据结构

    在遍历数据结构的时候,是不可以修改原数据结构的。不然就会抛出错误。

    我常用的解决办法是做一份拷贝,遍历这个拷贝。(如果数据不是很大的话)

    比如,这个代码:

    IDictionary<int, string> ht = new Dictionary<int, string>();
    ht.Add(1, "one");
    ht.Add(2, "two");
    
    // Print "one,two"
    Console.WriteLine(String.Join(",", ht.Values.Select(i => i.ToString()).ToArray()));
    
    foreach (int key in new List<int>(ht.Keys)) {
        if (key == 1) ht.Remove(key);
    }
    
    // Print "two"
    Console.WriteLine(String.Join(",", ht.Values.Select(i => i.ToString()).ToArray()));
    
    我在遍历的时候,做了一份拷贝。代码是 new List<int>(ht.Keys),用到了 List 的构造拷贝函数,会对 ht.Keys 做一份拷贝。之后的 foreach 其实是在对这个拷贝做遍历。
  • 相关阅读:
    JavaScript HTML DOM
    JavaScript 对象与函数
    DVWA--Command Injection
    sqli-libs(2)
    python学习之路(17)
    sqli-labs(1)
    python学习之路(16)
    python学习之路(15)
    DVWA--Brute Force
    python学习之路(14)
  • 原文地址:https://www.cnblogs.com/lisengl/p/2554546.html
Copyright © 2011-2022 走看看