Окно Immediate также может использоваться для выполнения команд. Просто введите a >
, за которым следует команда.
Например, >shell cmd
запустит командную оболочку (это может быть полезно для проверки того, что переменные среды были переданы, например, Visual Studio). >cls
очистит экран.
Вот список команд, которые так часто используются, что у них есть свои собственные псевдонимы: https://msdn.microsoft.com/en-us/ библиотека / c3a0kd3x.aspx
Серьезно, не нужно идти по динамическому маршруту; используйте
var deser = new JavaScriptSerializer()
.Deserialize<Dictionary<string, Dictionary<string, int>>>(val);
var justDaily = deser["daily"];
, чтобы получить словарь, а затем вы можете, например,
foreach (string key in justDaily.Keys)
Console.WriteLine(key + ": " + justDaily[key]);
, чтобы получить присутствующие клавиши и соответствующие значения.
Это не удобно использовать, потому что в с # нельзя определить переменную, начинающуюся с числа. Добавьте префикс к клавишам.
Или попробуйте:
string json = "
{ daily:[
{ key: '1337990400000', val:443447 },
{ key: '1338076800000', val:444693 },
{ key: '1338163200000', val:452282 },
{ key: '1338249600000', val:462189 },
{ key: '1338336000000', val:466626 }]
}";
public class itemClass
{
public string key; // or int
public int val;
}
public class items
{
public itemClass[] daily;
}
items daily = (new JavascriptSerializer()).Deserialize<items>(json);
Затем вы можете:
var itemValue = items.Where(x=>x.key=='1338163200000').Select(x=>x.val).FirstOrDefault();
Вы можете использовать dynamic
в .NET 4 или более поздней версии. Например, с помощью JSON.NET я могу сделать:
dynamic obj = JsonConvert.Deserialize<dynamic>("{x: 'hello'}");
Затем вы можете:
var str = obj.x;
Однако не знаете, как он будет обрабатывать цифровые клавиши. Вы можете, конечно, просто использовать JObject
непосредственно, например:
var obj = JObject.Parse("{'123456': 'help'}");
var str = obj["123456"];