Операции над списком по средствам C# сниппета

  • Автор темы Автор темы Dimionix
  • Дата начала Дата начала
Подскажите плиз, если хочу чтобы не ставилась запятая после взятия, то надо
Код:
Развернуть Свернуть Копировать
var list = project.Lists["Список1"];// Исходный список
            Random rand = new Random();
            StringBuilder strb = new StringBuilder();
                // j - количество строк, которое нужно взять.
            int j = 1;
            for (int i = 0; i < j; i++)
            {
                int r = rand.Next(list.Count);
                if (i + 1 == 2)
                {
                    strb.Append(list[r]);
                }
                else
                {
                    strb.Append(list[r] + ",");
                }
                list.RemoveAt(r);
            }
            return strb.ToString();
заменить на
Код:
Развернуть Свернуть Копировать
var list = project.Lists["Список1"];// Исходный список
            Random rand = new Random();
            StringBuilder strb = new StringBuilder();
                // j - количество строк, которое нужно взять.
            int j = 1;
            for (int i = 0; i < j; i++)
            {
                int r = rand.Next(list.Count);
                if (i + 1 == 2)
                {
                    strb.Append(list[r]);
                }
                else
                {
                    strb.Append(list[r]);
                }

                list.RemoveAt(r);
            }
            return strb.ToString();
Правильно ли?
P.S. верно ли, что при многопотоках этот код лучше не использовать? Будет раз 50 обращений ко списку "Список1" в 50 потоках. Или все ок?
 
Нужно взять из списка определенное кол-во строк, положить в переменную удалив эти строки из исходного списка, кто подскажет как или поделится снипетом?
 
Здравствуйте, напишу сюда, тк похожая тема уже есть. Операция количество строк в списке работает после открытия списка и каких-то действий в окне, например, галку на оставлять пустым и тп. Не сделав это результат ноль. При следующем выполнении шаблона с нуля эту галку убираю, после список читается и возвращает количество строк. Используя свой код в сниппете, такая же ситуация.

Код:
Развернуть Свернуть Копировать
var curentlist = project.Lists["keywords"];// наш список
int listSize = curentlist.Count; // переменная счетчик
return listSize; //возвращаем количество

В чем может быть проблема?

Решил. Проблема оказалась в том, что не привязал список к файлу.
 
Последнее редактирование:
Подскажите пожалуйста, нужно получить список плагинов и положить их в список
С получением плагинов проблем нет, есть код
var PluginList = instance.GetPlugins().ToList();

А вот как положить их в список не понимаю, подскажите пожалуйста
 
Подскажите пожалуйста, нужно получить список плагинов и положить их в список
С получением плагинов проблем нет, есть код
var PluginList = instance.GetPlugins().ToList();

А вот как положить их в список не понимаю, подскажите пожалуйста
project.Lists["имя_списка"].addRange(PluginList);
 
  • Спасибо
Реакции: Porosenok
project.Lists["имя_списка"].addRange(PluginList);
выдало такие ошибки
AYRRDz.png
 
в каком виде ты хочешь, чтобы плагины лежали в списке? Один плагин содержит 4 поля. Как должна выглядеть запись?
я не знаю, просто как лягут так и лежат пусть, без разницы. Мне просто посмотреть вообще как оно все выглядит. Или лучше в таблицу складывать?
 
не знаю, мб у тебя плагинов нет.
у меня такой код работает
Код:
Развернуть Свернуть Копировать
var PluginList = instance.GetPlugins().ToList();
project.Lists["logins2"].AddRange(PluginList.Select(x=>x.Name+"\t\t"+x.FileName+"\t\t"+x.Description+"\t\t"+x.Version));
можешь попробовать вернуть список в переменную так

Код:
Развернуть Свернуть Копировать
var PluginList = instance.GetPlugins().ToList();
return string.Join("\r\n", PluginList.Select(x=>x.Name+"\t\t"+x.FileName+"\t\t"+x.Description+"\t\t"+x.Version));
этот код у меня тоже работает
 
  • Спасибо
Реакции: Porosenok
Спасибо! Первый код сработал
 
doc, а можешь объяснить значение этого кода
(x=>x.Name+"\t\t"+x.FileName+"\t\t"+x.Description+"\t\t"+x.Version)
он типа перебирает, берет элемент каждый (x) и у каждого элемента есть атрибуты name, filename и тд, их он складывает в список, верно? То есть это такой цикл но без for
или как?
мне нужно удалить определенные плагины, например по названию dll, но не пойму как это реализовать

разобрался, вот код если кому надо
var plugins = instance.GetPlugins();
foreach(var plugin in plugins)
if(plugin.Name.Contains("Intel"))
instance.HidePlugin(plugin);
Код:
Развернуть Свернуть Копировать
var plugins = instance.GetPlugins();
foreach(var plugin in plugins)
    if(plugin.Name.Contains("ключевое_слово"))
        instance.HidePlugin(plugin);
 
Последнее редактирование:
добрый вечер скажите пожалуйста как взять случаиную строку из списка и положить в переменую используя C#
 
добрый вечер скажите пожалуйста как взять случаиную строку из списка и положить в переменую используя C#
C#:
Развернуть Свернуть Копировать
var list = project.Lists["List"];
Random rnd = new Random();
int r = rnd.Next(list.Count);
project.Variables["Var"].Value = list[r];
 
  • Спасибо
Реакции: sentinel и steklarul
Ребят как добавить даный из одного списка в другой список C#
 
Ребят как добавить даный из одного списка в другой список C#
C#:
Развернуть Свернуть Копировать
var list1 = project.Lists["List1"];
var list2 = project.Lists["List2"];
list1.AddRange(list2);

PS. Ответы на все Ваши вопросы сотни раз звучали на форуме, просто иногда нужно пользоваться "поиском". Для начала хотя бы можно посмотреть здесь и здесь.
 
Последнее редактирование:
  • Спасибо
Реакции: steklarul
:D уже бы сразу просил проект, что тем 100 штук создавать да по тихой подкрадываться
Чел хочет сэкономить, нахаляву получив код силами зеннолаба
P.S. надо бы шаблон такой написать, к которому только ТЗ приложить и он по форуму соберет готовый код))
 
C#:
Развернуть Свернуть Копировать
var list1 = project.Lists["List1"];
var list2 = project.Lists["List2"];
list1.AddRange(list2);

PS. Ответы на все Ваши вопросы сотни раз звучали на форуме, просто иногда нужно пользоваться "поиском". Для начала хотя бы можно посмотреть здесь и здесь.
Спасибо вам!
 
Подсксжите, как взять везь текст из списка и положить его в одну переменную?
Спасибо!
 
Скажите ваш текст находится в одной строки или в несколико
в разных строках. В этом и проблема, что в зенно кубика такого нет, чтобы из списка не привязанного к файлу можно было взять все строки и сунуть их в переменную.

Спасибо!
 
в разных строках. В этом и проблема, что в зенно кубика такого нет, чтобы из списка не привязанного к файлу можно было взять все строки и сунуть их в переменную.

Спасибо!
можно сделать легко в кубики операция над спискам ести функция обиеденить элементы
upload_2017-2-8_22-44-34.png
 
  • Спасибо
Реакции: Meteorburn

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