【问题标题】:How can I find a list knowing is name in the form of String?我怎样才能找到一个知道是字符串形式的名称的列表?
【发布时间】:2021-10-06 10:15:40
【问题描述】:

我在 dart 文件中有很多列表 List<String>。每个列表都包含各个国家/地区的城市名称。

选择一个国家后,我可以将我想要的列表名称,例如“list_cities_japan”,作为String。

我怎样才能选择一个好的列表来显示这个字符串的城市?

【问题讨论】:

    标签: list flutter dart


    【解决方案1】:

    最好的解决方案是将您的国家/地区映射到不同的列表。以下是该解决方案在一个文件中的样子:

    Map<String, List<String>> cities = {
        "list_cities_japan" : ["tokoyo", "Osaka", "kobe"], 
        "list_cities_india" : ["Delhi", "manglore", "kerela"]
    }; 
      
      //prints complete map
      print(cities); 
      
      //print list of countries : (list_cities_japan, list_cities_india)
      print(cities.keys); 
      
      //prints cities in country list: [tokoyo, Osaka, kobe]
      print(cities["list_cities_japan"]); 
    

    跨多个文件的解决方案:

    1. 文件一

       List<String> list_cities_japan = ["tokoyo", "Osaka", "kobe"];
      
    2. 文件二

       List<String> list_cities_india = ["Delhi", "manglore", "kerela"];
      
    3. 主文件

       import 'fileone'; 
       import 'filetwo'; 
      
       void main() {
         Map<String, List<String>> cities = {
         "list_cities_japan" : list_cities_japan, 
         "list_cities_india" : list_cities_india
         }; 
      
         //print list of countries :(list_cities_japan,list_cities_india)
         print(cities.keys); 
      
         //prints cities in country list: [tokoyo, Osaka, kobe]
         print(cities["list_cities_japan"]); 
       }
      

    【讨论】:

    • 这意味着我必须将所有列表放在同一个文件中。没有办法将每个列表保存在一个文件中?
    • @FloRaptor 我已经添加了用于处理多个文件的更改,您能检查一下并验证答案吗?谢谢
    • 非常感谢大家!事实上,如果我们写一些类似print(cities["list_cities_japan"]!); 的东西来避免空返回,它会很好地工作。
    【解决方案2】:

    将所有国家/地区映射到其各自的城市列表,例如:

      var map = [
        {
          'country': 'list_cities_japan',
          'cities': ['Hiroshima', 'Nagasaki'],
        }
      ];
    

    从那里,您可以访问给定国家/地区的每个城市列表

    【讨论】:

    • 我们可以像 map = {'list_cities_japan' : ['Hiroshima', 'Nagasaki']};
    猜你喜欢
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 2016-10-16
    • 2018-05-17
    • 2020-04-06
    • 2022-07-06
    相关资源
    最近更新 更多