【问题标题】:Iterate a IDictionary/Dictionary Object迭代一个 IDictionary/Dictionary 对象
【发布时间】:2011-09-24 17:53:02
【问题描述】:

我有声明它的代码:

 public IDictionary<string, OPTIONS> dict_Options = new Dictionary<string, OPTIONS>();

 public class OPTIONS
 {
        public string subjectId = string.Empty;
        public string varNumber = string.Empty;
        public string varName = string.Empty;
 }

在我的字典对象中迭代所有 varName 的最简单方法是什么?有没有像foreach这样的?

【问题讨论】:

    标签: c# asp.net dictionary loops


    【解决方案1】:
            foreach (var item in dict_Options)
            {
                string varName = item.Value.varName;
            }
    

    这会遍历字典中的所有KeyValuePair&lt;T, T&gt;

    【讨论】:

      【解决方案2】:

      只是为已经发布的出色答案添加替代方案,您可以这样做:

      dict_Options.Keys.ToList().ForEach(m => SomeFunc(m.Value.varName));
      

      【讨论】:

      • ...如果m 实际上是关键,m.Value 怎么可能返回一些东西?我会写dict_Options.Keys.ToList().ForEach(m =&gt; SomeFunc(dict_Options[m]));
      【解决方案3】:
      foreach(var name in dict_Options.Select(x => x.Value.varName))
      {
          SomeFunc(name);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多