C# - 根据动态列表中的键获取值

时间:2017-10-17 08:01:28

标签: c# list

我有一个动态列表(docs),循环如下,

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

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

如何从c#list中具有空格的键获取值。我在这里提到的文档是一个静态列表。但在我的编码中我有动态列表

2 个答案:

答案 0 :(得分:1)

您可以按如下方式使用反射

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

答案 1 :(得分: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"