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

xuligan

Client
Регистрация
07.03.2011
Сообщения
156
Благодарностей
42
Баллы
28

lexone

Client
Регистрация
12.10.2012
Сообщения
420
Благодарностей
726
Баллы
93
  • Спасибо
Реакции: xuligan

xuligan

Client
Регистрация
07.03.2011
Сообщения
156
Благодарностей
42
Баллы
28
int j = int.Parse(project.Variables["ssasdfaf"].Value);
Тут ты указал, сколько брать строк?
(создай переменную "ssasdfaf" и указывай в ней число (кол-во строк).
Вот огромнейшее спасибо!!!!
 

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Подскажите плиз, если хочу чтобы не ставилась запятая после взятия, то надо
Код:
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 потоках. Или все ок?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

Tonny

Client
Регистрация
20.07.2013
Сообщения
142
Благодарностей
5
Баллы
18
Нужно взять из списка определенное кол-во строк, положить в переменную удалив эти строки из исходного списка, кто подскажет как или поделится снипетом?
 

pg2016

Client
Регистрация
17.06.2016
Сообщения
56
Благодарностей
5
Баллы
8
Здравствуйте, напишу сюда, тк похожая тема уже есть. Операция количество строк в списке работает после открытия списка и каких-то действий в окне, например, галку на оставлять пустым и тп. Не сделав это результат ноль. При следующем выполнении шаблона с нуля эту галку убираю, после список читается и возвращает количество строк. Используя свой код в сниппете, такая же ситуация.

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

Решил. Проблема оказалась в том, что не привязал список к файлу.
 
Последнее редактирование:

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 280
Благодарностей
96
Баллы
48
Подскажите пожалуйста, нужно получить список плагинов и положить их в список
С получением плагинов проблем нет, есть код
var PluginList = instance.GetPlugins().ToList();

А вот как положить их в список не понимаю, подскажите пожалуйста
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Подскажите пожалуйста, нужно получить список плагинов и положить их в список
С получением плагинов проблем нет, есть код
var PluginList = instance.GetPlugins().ToList();

А вот как положить их в список не понимаю, подскажите пожалуйста
project.Lists["имя_списка"].addRange(PluginList);
 
  • Спасибо
Реакции: Porosenok

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 280
Благодарностей
96
Баллы
48

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 280
Благодарностей
96
Баллы
48
в каком виде ты хочешь, чтобы плагины лежали в списке? Один плагин содержит 4 поля. Как должна выглядеть запись?
я не знаю, просто как лягут так и лежат пусть, без разницы. Мне просто посмотреть вообще как оно все выглядит. Или лучше в таблицу складывать?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
project.Lists["имя_списка"].addRange(PluginList.Select(x=>x.Name+"\t\t"+x.FileName+"\t\t"+x.Description+"\t\t"+x.Version));
пробуй так
 

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 280
Благодарностей
96
Баллы
48

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
не знаю, мб у тебя плагинов нет.
у меня такой код работает
Код:
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

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 280
Благодарностей
96
Баллы
48
Спасибо! Первый код сработал
 

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 280
Благодарностей
96
Баллы
48
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);
 
Последнее редактирование:

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18
добрый вечер скажите пожалуйста как взять случаиную строку из списка и положить в переменую используя C#
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
добрый вечер скажите пожалуйста как взять случаиную строку из списка и положить в переменую используя 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

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18
Ребят как добавить даный из одного списка в другой список C#
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
Ребят как добавить даный из одного списка в другой список C#
C#:
var list1 = project.Lists["List1"];
var list2 = project.Lists["List2"];
list1.AddRange(list2);
PS. Ответы на все Ваши вопросы сотни раз звучали на форуме, просто иногда нужно пользоваться "поиском". Для начала хотя бы можно посмотреть здесь и здесь.
 
Последнее редактирование:
  • Спасибо
Реакции: steklarul

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
:D уже бы сразу просил проект, что тем 100 штук создавать да по тихой подкрадываться
Чел хочет сэкономить, нахаляву получив код силами зеннолаба
P.S. надо бы шаблон такой написать, к которому только ТЗ приложить и он по форуму соберет готовый код))
 

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18
C#:
var list1 = project.Lists["List1"];
var list2 = project.Lists["List2"];
list1.AddRange(list2);
PS. Ответы на все Ваши вопросы сотни раз звучали на форуме, просто иногда нужно пользоваться "поиском". Для начала хотя бы можно посмотреть здесь и здесь.
Спасибо вам!
 

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
Подсксжите, как взять везь текст из списка и положить его в одну переменную?
Спасибо!
 

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
Скажите ваш текст находится в одной строки или в несколико
в разных строках. В этом и проблема, что в зенно кубика такого нет, чтобы из списка не привязанного к файлу можно было взять все строки и сунуть их в переменную.

Спасибо!
 

steklarul

Client
Регистрация
07.09.2016
Сообщения
164
Благодарностей
7
Баллы
18
в разных строках. В этом и проблема, что в зенно кубика такого нет, чтобы из списка не привязанного к файлу можно было взять все строки и сунуть их в переменную.

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

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113

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