循环遍历字典对象
循环遍历字典对象
我对.NET很新,习惯于使用PHP。我需要通过foreach
循环遍历对象字典。我的设置是一个MVC4应用程序。
模型看起来像这样:
public class TestModels { Dictionary<int, dynamic> sp = new Dictionary<int, dynamic> { {1, new {name="abc", age="1"}}, {2, new {name="def", age="2"}} } }
控制器:
public class TestController : Controller { Models.TestModels obj = new Models.TestModels(); }
如何循环遍历obj
对象并检索字典的值,在视图中打印它们?
admin 更改状态以发布 2023年5月24日
一种方法是循环遍历字典的键,我推荐这种方法:
foreach(int key in sp.Keys) dynamic value = sp[key];
另一种方法是循环遍历字典的键值对序列:
foreach(KeyValuePairpair in sp) { int key = pair.Key; dynamic value = pair.Value; }
我建议使用第一种方法,因为如果在键的Keys
属性上使用适当的LINQ语句进行修饰,例如sp.Keys.OrderBy(x => x)
可以帮助您按键的升序检索项目且控制更加灵活。请注意,Dictionary
在内部使用哈希表数据结构,因此如果使用第二种方法,项目的顺序是无法预测的。
更新(2016年12月1日):将var
替换为实际类型,以使答案更清晰。