我有一個包含動態列表的類,我可以像這樣訪問它。如何通過列表循環<dynamic>
foreach (var c in objects)
{
foreach (dynamic i in c.data)
{
var ss = i;
}
}
的Class
public class iUpdateGrid
{
public int type { get; set; }
public string session { get; set; }
public string latitude { get; set; }
public string longitude { get; set; }
public string ip { get; set; }
public int id { get; set; }
public string station { get; set; }
public List<iGridData> h_33 { get; set; }
}
public class iGridData
{
public string table { get; set; }
public List<dynamic> data { get; set; }
}
「SS」現在包含對象的列表,但是不知道如何獲取這些值的字典或列表。 一個筆記我還需要調整鍵名稱。
事情我試圖做的:
foreach (KeyValuePair<string, string> kv in i)
{
string key = kv.Key;
string value = kv.Value;
}
foreach語句無法在類型「System.Collections.IEnumerable」的變量操作,因爲「System.Collections.IEnumerable」不包含「的GetEnumerator」一個公共定義
此外,動態對象不會提供訪問密鑰和/或值的選項。
任何幫助我如何循環通過這將是非常受歡迎的。
此外,當我把它放在運行時「我」說它的一個System.Collections.Generic.Dictionary然而也可以訪問這也。
解決方案:
取得什麼機會,解決方案提供,但爲我工作:
foreach (var c in objects)
{
foreach (dynamic i in c.data)
{
foreach (var v in (i as IDictionary<string, object>))
{
string key = v.Key;
object value = v.Value;
}
}
}
的問題是「如何我轉換c.data到詞典「, 對?如果是這樣,'c.data'的_type_是什麼? – 2014-09-24 09:58:56
此外,錯誤「'System.Collections.IEnumerable'不包含'GetEnumerator'的公共定義」是沒有意義的。它確實包含一個'GetEnumerator'。 – 2014-09-24 10:02:51
c.data是一個動態列表 –
user3763117
2014-09-24 16:07:24