代码之家  ›  专栏  ›  技术社区  ›  Rajeshwar

使用列表中的where命令迭代其内容

  •  2
  • Rajeshwar  · 技术社区  · 8 年前

    List<String> lst = new List<String>();
    
      main()
    {
      lst.add("hello");
      lst.where((String str) {
        if(str=="hello"){
          print("Found");
        }
      });
    }
    

    在调试时,我注意到它没有进入where语句并打印“found”。我做错什么了吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Günter Zöchbauer    8 年前
      var filteredList = lst.where((String str) {
        if(str=="hello"){
          print("Found");
          return true;
        }
        return false;
      });
      print(filteredList);
    

    where()

    • true false

    • 创建并返回新的ITerable,它不修改原始集合

    • toList()