2017-10-17 32 views
-4

鍵我有一個動態列表(文檔)獲取值如下循環和C# - 基於從動態列表

var docs = {{"with Space": "2", "withoutSpace": "5", }} 

    var a = docs[0].withoutSpace; // Working 
    var b = docs[0].with Space; // Not working 

如何從具有C#列表空格鍵獲取值。我在這裏提到的文檔是一個靜態列表。但在我的代碼我有動態列表

+0

是你的肯定,你能夠訪問'docs [i] .withoutSpace',因爲'var docs = [{「withoutSpace」:5,「Space」:3},{「withoutSpace」:7,「Space」:9}]'will給'錯誤' –

+4

第一行不是C# - 它是什麼? –

+0

它似乎是JS – shahsani

回答

0

我認爲你正在試圖做這樣的事情:

dynamic docs = JsonConvert.DeserializeObject("[{\"with Space\": \"2\", \"withoutSpace\": \"5\" }]"); 

Console.WriteLine(docs[0].withoutSpace); // "5" 
Console.WriteLine(docs[0]["withoutSpace"]); // "5" 
Console.WriteLine(docs[0]["with Space"]); // "2" 
1

你可以使用反射如下

docs[i].GetType().GetProperty("with Space").GetValue(docs[i], null); 
+0

我已經試過這個。它會引發以下錯誤無法對空引用執行運行時綁定 – Sam