Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как работать с таким файлом?


Автор: ywitodenasuby 4.12.2014, 01:33
Есть файл программы с настройками
Цитата

[section1]
op1=
op2=
op3=
op4=

[section2]

[section3]
op1=

Как добавить строки, например, в секцию 1 или 2 или 3?

Автор: Uvs 4.12.2014, 10:09
есть класс cIni, который работает с секциями и значениями.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-rabotat-s-takim-faylom-id547f9052ae20154e118b4567#findElement_E7045_54800893ae2015426f13088f_0

Автор: ywitodenasuby 4.12.2014, 12:39
Цитата(Uvs @ 4.12.2014,  10:09)
есть класс cIni, который работает с секциями и значениями.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-rabotat-s-takim-faylom-id547f9052ae20154e118b4567#findElement_E7045_54800893ae2015426f13088f_0

А если без использования того класса, то как?
Вот что у меня выходит:
op.ini 
Код

[section1]
op1=
op2=
op3=
op4=

[section2]
op1=

[section3]
op1=
op2=
op3=
op4=
op5=


program.cs
Код

Dictionary<string, List<string>> array = new Dictionary<string, List<string>>(); //многомерный массив для хранения секций и значений

// читаю во временный массив файл с настрйоками и переворачиваю, чтобы потом наполнить array
List<string> tmplist = new List<string>();
            foreach (string linet in File.ReadAllLines(@"op.ini"))
            {
                if (linet.Length > 0)
                {
                    tmplist.Add(linet);
                }
            }
tmplist.Reverse();


List<string> list = new List<string>();
            string section = "";
                foreach (string linek in tmplist)
                {
                    list.Add(linek);
                    if(linek[0].ToString() == "[") // если строка начинается с [, то заносится в массив строк
                    {
                        section = linek;
                        array.Add(linek, list);
                        //list.Clear(); // если тут очищаю, то ничего не получаю на выходе, а если не очищаю, то результат утраивается, но почему? я не понимаю
                    }                    
                }

Console.WriteLine("!!!!" + array["[section1]"].Count()); должно быть 4, если list.Clear(), но их 13))

Может кто-то подскажет, как тогда правильно считать такой файл в многомерный массив?

Автор: Uvs 4.12.2014, 20:34
Предлагаю, пишите ваш e-mail - вышлю этот класс. Никаких сложностей, всё просто до безобразия... smile Включаете его в проект, вызываете методы. А с утроениями - это в Центр Избер Ком! smile Шучу.

Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Kak-rabotat-s-takim-faylom-id547f9052ae20154e118b4567#findElement_E7045_54809b25ae2015a16e130753_0

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)