С# взять несколько строк из перечня

С# взять несколько строк из перечня

Пламенный привет всем и так не так давно у меня появилась задачка взять несколько строк из перечня, приблизительно 5 строк.Но не просто взять несколько строк из перечня и положить их в переменные, а еще удалить с дописыванием в конец перечня.Выходит мы выдергиваем строчки из перечня и позже перезаписываем в тот же перечень, казалось бы куда прощекод сниппета смотрится так:lock(SyncObjects.ListSyncer)var stroka0 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka0»].Value = stroka0;var stroka1 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka1»].Value = stroka1;var stroka2 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka2»].Value = stroka2;var stroka3 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka3»].Value = stroka3;var stroka4 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka4»].Value = stroka4;project.Lists[«spisok»].Add(project.Variables[«stroka0»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka1»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka2»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka3»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka4»].Value);1234567891011121314151617181920212223242526272829lock(SyncObjects.ListSyncer)var stroka0 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka0»].Value = stroka0;var stroka1 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka1»].Value = stroka1;var stroka2 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka2»].Value = stroka2;var stroka3 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka3»].Value = stroka3;var stroka4 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka4»].Value = stroka4;project.Lists[«spisok»].Add(project.Variables[«stroka0»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka1»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka2»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka3»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka4»].Value);Но задачка усложнилась, в процессе выяснения взятие нескольких строк из перечня необходимо было делать в процессе самого проекта , что означает сам путь к файлу составлялся в процессе проекта и zennoposter бранился на отсутствие файла точнее компилятор С# кода. И решение таково, поначалу складываем переменную в обработчике текста, а позже наш перечень привязываем к файлу.Ах так смотрится все в самом zennopostere.

С# взять несколько строк из перечня

Мы ведь не ищем легких путей.Я решил все переработать в С#, чтобы так сказать все в 1 кубике кода.// составляем путь к файлу прямо из переменных и директории проектаvar path = project.Directory+@»category\»+project.Variables[«category»].Value+@».txt»;// привязываем файл к списку проектаvar list = project.Lists[«spisok»];list.Bind(path);lock(SyncObjects.ListSyncer)var stroka0 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka0»].Value = stroka0;var stroka1 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka1»].Value = stroka1;var stroka2 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka2»].Value = stroka2;var stroka3 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka3»].Value = stroka3;var stroka4 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka4»].Value = stroka4;project.Lists[«spisok»].Add(project.Variables[«stroka0»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka1»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka2»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka3»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka4»].Value);12345678910111213141516171819202122232425262728293031323334// составляем путь к файлу прямо из переменных и директории проектаvar path = project.Directory+@»category\»+project.Variables[«category»].Value+@».txt»;// привязываем файл к списку проектаvar list = project.Lists[«spisok»];list.Bind(path);lock(SyncObjects.ListSyncer)var stroka0 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka0»].Value = stroka0;var stroka1 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka1»].Value = stroka1;var stroka2 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka2»].Value = stroka2;var stroka3 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka3»].Value = stroka3;var stroka4 = project.Lists[«spisok»][0];project.Lists[«spisok»].RemoveAt(0);project.Variables[«stroka4»].Value = stroka4;project.Lists[«spisok»].Add(project.Variables[«stroka0»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka1»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka2»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka3»].Value);project.Lists[«spisok»].Add(project.Variables[«stroka4»].Value);И желаю повториться мы не ищем легких путей.Усложним задачку, взять несколько строк из перечня, сейчас необходимо тоже самое но в случайном порядке взять несколько строк из перечня и удалить с следующей записью в конец перечня.// составляем путь к файлу прямо из переменных и директории проектаvar path = project.Directory+@»category\»+project.Variables[«category»].Value+@».txt»;// либо указать прямо где он находится var path = @»d:\category\file.txt»;var tmp = Macros.FileSystem.FileGetLines(path, «0-9».ToString(),true, false);List aa = new List(tmp);for(int i=0;i < 5;i++)project.Variables["stroka"+i].Value = aa[i].ToString();File.AppendAllText(path,aa[i].ToString() + Environment.NewLine);123456789// составляем путь к файлу прямо из переменных и директории проектаvar path = project.Directory+@"category\"+project.Variables["category"].Value+@".txt";// либо указать прямо где он находится var path = @"d:\category\file.txt";var tmp = Macros.FileSystem.FileGetLines(path, "0-9".ToString(),true, false);List aa = new List(tmp);for(int i=0;i < 5;i++)project.Variables["stroka"+i].Value = aa[i].ToString();File.AppendAllText(path,aa[i].ToString() + Environment.NewLine);Если вам нет нет необходимости удалять строчки из перечня , но необходимо просто взять несколько строк из перечня без следующего удаления и записи в перечень то код будет смотреться так:// составляем путь к файлу прямо из переменных и директории проектаvar path = project.Directory+@"category\"+project.Variables["category"].Value+@".txt";// либо указать прямо где он находится var path = @"d:\file.txt";var tmp = Macros.FileSystem.FileGetLines(path, "0-9".ToString(),false, false);List aa = new List(tmp);for(int i=0;i < 10;i++)project.Variables["test"+i].Value = aa[i].ToString();12345678// составляем путь к файлу прямо из переменных и директории проектаvar path = project.Directory+@"category\"+project.Variables["category"].Value+@".txt";// либо указать прямо где он находится var path = @"d:\file.txt";var tmp = Macros.FileSystem.FileGetLines(path, "0-9".ToString(),false, false);List aa = new List(tmp);for(int i=0;i < 10;i++)project.Variables["test"+i].Value = aa[i].ToString();Кое кто может сделать возражение, ведь есть готовые блоки и при их помощи может быть повторить тоже самое действие взять несколько строк из перечня,  но я думаю кто уже не 1-ый денек работает с зеннопостером и вы на Си написали часть кода и у вас появилась такая потребность, то вы не будете допиливать все это на кубиках.Фурроров вам в зеннокодинге и в ваших проектах, надеюсь веб-сайт вам посодействовал,если посодействовал поделитесь с друзьями в соц сетях!

источник: С# взять несколько строк из списка

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *