2017-10-17 72 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