【问题标题】:How to iterate through a list of an anonymous type如何遍历匿名类型的列表
【发布时间】:2009-10-14 16:36:02
【问题描述】:

我有一个国家列表,我想分别获取国家名称和 CountryID。

为了更容易理解,请访问我上传图片的链接

alt text http://img251.imageshack.us/img251/8505/listx.jpg

http://img251.imageshack.us/img251/8505/listx.jpg

匿名类型怎么可能?

我尝试了 Country[0]["Country"],但没有成功。

【问题讨论】:

    标签: c# .net asp.net anonymous-types


    【解决方案1】:

    只需遍历您的列表 - 匿名类型是匿名的 - 但仍然是严格类型!您可以获得智能感知,并且应该能够毫无问题地访问 CountryCountryID 字段:

    foreach(var c in yourListOfCountries)
    {
       string countryName = c.Country;
       int countryID = c.CountryID;
    }
    

    马克

    【讨论】:

    • 我认为匿名类型的处理方式不同。正如我所见,我也可以使用 LINQ。谢谢 marc_s。
    • 不,匿名类型没有什么特别之处——除了作为开发人员的不知道他们的类型名称。但是在它们背后一个完整的类型定义,您可以像绝对正常的类型一样使用它们。
    • 如果你想从这个列表中删除几个项目,你会在 foreach 循环中得到一个异常——删除它们的唯一方法是从向后迭代,这只能通过使用 for 循环来实现。因此,您将需要一个索引 [i]。所以我们又回到了起点。是否可以按索引迭代? ;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    相关资源
    最近更新 更多