Skip to main content
 首页 » 编程设计

c#之迭代C#中的集合

2024年01月21日28webabcd

我创建了以下类:

[Serializable] 
public class AppContext : IXmlSerializable { 
    public string reportType = string.Empty; 
    public string entityId = string.Empty; 
 
    // OPTIONS 
    public IDictionary<string, OPTIONS> dict_Options = new Dictionary<string, OPTIONS>(); 
    // Advanced Options 
    public List<string> listAdvancedOptions = new List<string>(); 
 
 
 
    public class OPTIONS { 
        public string subjectId = string.Empty; 
        public string varNumber = string.Empty; 
    } 
} 


我如何遍历选项以获取所有varNumbers?

请您参考如下方法:

方法一

foreach (KeyValuePair<string, AppContext.OPTIONS> kvp in appContext.dict_Options) 
{ 
  Console.WriteLine(kvp.Value.varNumber); 
} 


方法二

foreach (AppContext.OPTIONS item in appContext.dict_Options.Values) 
{ 
  Console.WriteLine(item.varNumber); 
} 


方法3

foreach (string item in appContext.dict_Options.Select(x => x.Value.varNumber)) 
{ 
  Console.WriteLine(item); 
}