我有一些示例代碼看起來像這樣:如何迭代匿名對象列表?
var items = new List<object>();
var testObjectOne = new
{
Valueone = "test1",
ValueTwo = "test2",
ValueThree = "test3"
};
var testObjectTwo = new
{
Valueone = "test1",
ValueTwo = "test2",
ValueThree = "test3"
};
items.Add(testObjectOne);
items.Add(testObjectTwo);
foreach (var obj in items)
{
var val = obj.Valueone;
}
但我不能訪問Valueone並且得到錯誤:對象」不包含定義‘Valueone’,沒有擴展方法‘Valueone’接受可以找到類型'對象'的第一個參數(您是否缺少使用指令或程序集引用?)
問題:如何遍歷此列表並訪問ValueOne,例如?任何幫助或輸入的高度讚賞,感謝
var items =(new [] {testObjectOne})。ToList()'。或者'新列表()'。或者一個輔助方法來推斷列表類型而不實際添加對象。或者使用元組。或者,我個人最喜歡的選擇,不要懶惰,只要申報一個班級。 –
這聽起來像是一個xy問題。你爲什麼不爲你的測試對象創建一個專用類型,並將這些實例放在一個'List'中? –
列表中的項目類型爲'object',它不包含'ValueOne'的定義。你可以做一些像'var items = Enumerable.Empty