Генерация строк на с#

madnet

Client
Регистрация
18.07.2013
Сообщения
11
Благодарностей
3
Баллы
3
Появилась необходимость в написание кубика на с#, знаний в этом практически нет, посему прошу помощи
Есть файл с кеями лежит в {-project.Directory-}\data\{-Variable.keyfile-}
Пробелы в кеях рандомно заменяются на символы -_+
Нужно сгенерировать 5 строк вида из переменных

{-Variable.protocol-} {-Variable.domen-} {-Variable.folder-} key_iz_file

Пример нужного на выходе

“hhttp://site.com/papka/key-key,
hhttp://site.com/papka/key1_key1,
hhttp://site.com/papka/key2+key2,
hhttp://site.com/papka/key3+key3,
hhttp://site.com/papka/key4-key4”

И положить этот текст в переменную {-Variable.links-}

Большое спасибо!
 

THE CaHeK

Client
Регистрация
29.01.2016
Сообщения
296
Благодарностей
116
Баллы
43
Появилась необходимость в написание кубика на с#, знаний в этом практически нет, посему прошу помощи
Есть файл с кеями лежит в {-project.Directory-}\data\{-Variable.keyfile-}
Пробелы в кеях рандомно заменяются на символы -_+
Нужно сгенерировать 5 строк вида из переменных

{-Variable.protocol-} {-Variable.domen-} {-Variable.folder-} key_iz_file

Пример нужного на выходе

“hhttp://site.com/papka/key-key,
hhttp://site.com/papka/key1_key1,
hhttp://site.com/papka/key2+key2,
hhttp://site.com/papka/key3+key3,
hhttp://site.com/papka/key4-key4”

И положить этот текст в переменную {-Variable.links-}

Большое спасибо!
Можете попробовать так.


C#:
string protocol = "http://";
string domen = "site.com";
string folder = "papka";

var keylist = project.Lists["Ключевики"];
string[] chars = new string[]{"+","-","_"}; // символы

List<string> temp_list = new List<string>(); // лист для строк



Random rand = new Random();
lock (CommonCode.KeywordsLocker)
{
    string key = string.Empty;
    for(int ii = 0; ii<5 ;ii++)
    {

        int i = rand.Next(0, chars.Length);
        string randChar = chars[i];
        key = keylist[0];
        keylist.RemoveAt(0);
        key = key.Replace(" ",randChar); // заменяем пробел
        temp_list.Add($"{protocol}{domen}/{folder}/{key}");
    }
}

project.Variables["links"].Value = string.Join(",",temp_list);
 

Вложения

  • 13 КБ Просмотры: 76
  • Спасибо
Реакции: madnet

madnet

Client
Регистрация
18.07.2013
Сообщения
11
Благодарностей
3
Баллы
3
Спасибо большое!
 

madnet

Client
Регистрация
18.07.2013
Сообщения
11
Благодарностей
3
Баллы
3
Столкнулся с проблемой.
Данный код берет кейворды из списка с удалением, т.е. если запустить код несколько раз подряд- список заканчивается и вылазит ошибка
Выполнение действия CSharp OwnCode. Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции.
Имя параметра: index


Как сделать, что бы кеи возвращались в список назад после каждого запуска?
Заранее спасибо
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)