Записать в коллекцию все строки между фигурными скобками - C#

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

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

Здравствуйте. Есть файл, в нем текст вида:
Plast
{
  Name = "";
  Index = 3800;
  YTre = 3801;
  XPos = 118865.814;
  YPos = 152.843;
  ZPos = 40782.776;
  XOri = 0.00;
  YOri = 284.74;
  ZOri = 15.30;
  UPpr = "скрипт";
  del = "";
  Country = en;
  trueWW = "";
  WER = "";
  AIRTOP = 3;
  Start = 0;
  Number = 0;
  Vul = 1;
  ble = 1;
  Limit = 1;
  StartIn = 2;
  Call = 20;
  cnum = 5;
  Time = 60;
  Report = 501;
  hold = 1;
  loadId = 111;
}
Таких "блоков" в файле несколько. Нужно найти такой блок, если в его теле в строке

Country =

значение

en;

, то вписываем в строку

Name = "";

, между кавычками Имя из одной таблицы в БД, если значение

ru;

, то вписываем имя из другой таблицы. Продолжаем поиск до конца файла. Что-то я даже не знаю с какой стороны подойти. Помогите пожалуйста.

Решение задачи: «Записать в коллекцию все строки между фигурными скобками»

textual
Листинг программы
            string str;
            List<List<string>> result = new List<List<string>>();
            using (StreamReader reader = new StreamReader
                (File.Open(@"E:\test.txt",
                FileMode.OpenOrCreate), Encoding.Default))
            {
                var res = new List<string>();
                while ((str = reader.ReadLine()) != null)
                {
                    res?.Add(str);
                    if (str.Contains("}"))
                    {
                        result.Add(res);
                        res = new List<string>();
                    }
                }
            }

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


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

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

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