var items = new List<object>();var testObjectOne = new{ Valueone = "test1",ValueTwo = "test2",ValueThree = "test3"};var testObjectTwo = new{ Valueone = "test1",ValueThree = "test3"};items.Add(testObjectOne);items.Add(testObjectTwo);foreach (var obj in items){ var val = obj.Valueone;}
但我无法访问Valueone并得到错误:object’不包含’Valueone’的定义,并且没有扩展方法’Valueone’接受类型’object’的第一个参数可以找到(你是否缺少using指令或装配参考?)
问题:如何迭代此列表并访问ValueOne?非常感谢任何帮助或意见,谢谢
解决方法 您可以使用反射来获取匿名类型的属性:var items = new List<object>();var testObjectOne = new{ Valueone = "test1",ValueThree = "test3" };var testObjectTwo = new{ Valueone = "test1",ValueThree = "test3"};items.Add(testObjectOne);items.Add(testObjectTwo);foreach (var obj in items){ var val = obj.GetType() .GetProperty("Valueone") .GetValue(obj);}总结
以上是内存溢出为你收集整理的c# – 如何遍历匿名对象列表?全部内容,希望文章能够帮你解决c# – 如何遍历匿名对象列表?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)