Что-то с областью видимости - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую! Пытаюсь распарсить локальные файлы на предмет JSON. Пишу так:
            if (id_report!="")
            {
                Dictionary<string, object> vals = dbs.deserializeToDictionary(reportsList.readReportConfig(id_report));
             
                name_report = "!!!!!";//propReport.name;// ["name"];
            }
В месте 'name_report = "!!!!!";' дебаггер пишет: "The name 'vals' does not exist in the current context" Вызываемая процедура:
        public Dictionary<string, object> deserializeToDictionary(string jo)
         {
                        Dictionary<string, object> values = JsonConvert.DeserializeObject<Dictionary<string, object>>(jo);
                        Dictionary<string, object> values2 = new Dictionary<string, object>();
                        foreach (KeyValuePair<string, object> d in values)
                        {
                            if (d.Value.GetType().FullName.Contains("Newtonsoft.Json.Linq.JObject"))
                            {
                                values2.Add(d.Key, deserializeToDictionary(d.Value.ToString()));
                            }
                            else
                            {
                                values2.Add(d.Key, d.Value);
                            }
 
                        }
                        return values2;
                }
и на строке 'return values2;' всё прекрасно. Есть строки и значения. пробовал так:
             Dictionary<string, object> vals;
            if (id_report!="")
            {
               vals = dbs.deserializeToDictionary(reportsList.readReportConfig(id_report));
                name_report = "!!!!!";//propReport.name;// ["name"];
            }
и так:
             Dictionary<string, object> vals=new Dictionary<string, object>();
           ...
результат и ошибка та же. Что я не заметил? Вот пример JSONa:
{
    "name": "какой-то текст",
    "group": [
        "group1",
        "Группа 1"
    ]
}

Решение задачи: «Что-то с областью видимости»

textual
Листинг программы
name_report = vals.Count.ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы