- Регистрация
- 30.05.2019
- Сообщения
- 479
- Благодарностей
- 200
- Баллы
- 43
Шаблон работает моментально, но я не могу преодолеть типы данных и отработку через C# код листа со значениями. Темы по поиску не нашёл, поэтому пишу своё.
Алгоритм такой.
1) Из ячейки таблицы со списком тяну каждую строку (Regexoм) и забиваю значения в стак новых переменных. На выходе шаблона у меня новые переменные: key[0]...key[n]
2) в key[1]-key[n] ищу key[0], совпадения - меняю на пустоту. Получаю в те же переменные (чтобы не захламлять)
3) Сплитом разбиваю каждую переменную в цикле на слова.
Результат - список слов. 18 значений.
// стоп-слова и пробелы есть, но это не важно на данном этапе, потом удалю по совпадениям.
Внимание, вопрос:
Все строки (слова из списка Слова) хочу вбить в новую переменную друг за дружкой через разделитель для использования Spintax. Пытался сделать через string.Join, но Лог ругается уже 2 часа. Сетую на типы данных или неверное применение коллекций C#.
Пытался решить циклом через все совпадения и записать их в новую переменную - одной строкой.
Так же пытался применить foreach, но самая частая ошибка -
Памагити пжалста.
Алгоритм такой.
1) Из ячейки таблицы со списком тяну каждую строку (Regexoм) и забиваю значения в стак новых переменных. На выходе шаблона у меня новые переменные: key[0]...key[n]
Код:
string variableName = "key"+project.Variables["keysCounter"].Value; //new variable name
string variableValue = project.Variables["newKey"].Value; //new variable value
object obj = project.Variables;
obj.GetType().GetMethod("QuickCreateVariable").Invoke(obj,new Object[]{variableName});
project.Variables[variableName].Value = variableValue;
2) в key[1]-key[n] ищу key[0], совпадения - меняю на пустоту. Получаю в те же переменные (чтобы не захламлять)
3) Сплитом разбиваю каждую переменную в цикле на слова.
Код:
int i = 0;
string chosen = project.Variables["chosenVariable"].Value;
var split = chosen.Split(new [] { " " }, StringSplitOptions.None).ToList();
for ( i = 0; i < split.Count; i++ )
{
project.Lists["Слова"].Add(split[i]);
}
// стоп-слова и пробелы есть, но это не важно на данном этапе, потом удалю по совпадениям.
Внимание, вопрос:
Все строки (слова из списка Слова) хочу вбить в новую переменную друг за дружкой через разделитель для использования Spintax. Пытался сделать через string.Join, но Лог ругается уже 2 часа. Сетую на типы данных или неверное применение коллекций C#.
Пытался решить циклом через все совпадения и записать их в новую переменную - одной строкой.
Так же пытался применить foreach, но самая частая ошибка -
Компиляция кода Ошибка в действии "CS1061" "'ZennoLab.InterfacesLibrary.ProjectModel.IZennoList' does not contain a definition for 'Value' and no extension method 'Value' accepting a first argument of type 'ZennoLab.InterfacesLibrary.ProjectModel.IZennoList' could be found (are you missing a using directive or an assembly reference?)". [Строка: 0; Cтолбец: 38]
Код:
int i = 0;
int count = project.Lists["Слова"].Count;
string spintax;
string adding;
for ( i = 0; i < count ; i++ )
{
adding = project.Lists["Слова"].... номер совпадения i
spintax.Join("|", adding ..... или все совпадения...
}
Памагити пжалста.