笔记
根据我的问题中一些原始发帖人的评论,问题是关于 .NET Framework 3.5。我自己重新标记了这个问题。无论如何,我把这个答案留在这里,因为它可能在未来对原始海报和未来的访客有用。
你为什么不使用匿名对象而不是使用匿名对象ExpandoObject
?
dynamic list = new ExpandoObject();
list.group_id = group_id;
list.dep_code = dep_code;
// ... and so on.
一个很好的细节是ExpandoObject
implements IDictionary<string, object>
,而 bingo:IDictionary<string, object>
将有一个Values
属性,它 implements IEnumerable<T>
!
IEnumerable<object> items = ((IDictionary<string, object>)list).Values;
更新
由于我看到 Jon Skeet 的答案对你来说是正确的,我猜你正在寻找一个匿名对象列表,而不是一个匿名对象变成“可枚举”(从你的问题中知道什么对你有好处并不容易。 ..我不会删除我的答案,因此任何其他寻找我的第一个理解的访问者仍然可以发现我的答案非常有用)。
现在,更好地理解您的问题,您也可以这样做:
// Create a list of objects and you got it!
List<object> list = new List<object>();
list.Add(new { group_id, dep_code, dep_year, dep_name, boss_num, boss_name });