Как взять из списка случайные строки?

buzzme

Новичок
Регистрация
27.06.2016
Сообщения
10
Благодарностей
0
Баллы
1
Есть список с тысячами строк. Нужно каждый раз брать из этого списка случайные (50-100) строк. Как такое реализовать?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
  • Спасибо
Реакции: seodima и RipWay

vadim4ukr

Client
Регистрация
10.06.2016
Сообщения
217
Благодарностей
48
Баллы
28
Наверное проще всего перед взятием строки добавить экшн, "перемешать список"
 

ZSharp

Client
Регистрация
29.09.2013
Сообщения
396
Благодарностей
126
Баллы
43
Операция над списком

list.jpg


Где 50 это количество случайных строк, которое нужно взять из списка.
Удалять после взятия или нет ставь галочку, если нужно удалить.
 
  • Спасибо
Реакции: vadim4ukr

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28

S16er1um

Client
Регистрация
14.04.2016
Сообщения
826
Благодарностей
240
Баллы
43

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
нет не демо - lite
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28

ZHAG

Client
Регистрация
01.05.2014
Сообщения
228
Благодарностей
220
Баллы
43
Нужно каждый раз брать из этого списка случайные (50-100) строк
C#:
Random rnd = new Random();
int cnt = 50;//число строк которое нам нужно
var l = project.Lists["Список 1"];// тут наш список
List<string> ll = new List<string>();// тут пустой список в который мы положим нужное количество строк

ll = l.OrderBy(x=>rnd.Next()).Take(cnt).ToList();

return string.Join(System.Environment.NewLine,ll);

/* в переменную проекта вернется строка такого вида

строка1
строка2
строка3
строка4
строка5
строка6
строка7
строка8
строка9
строка10
строка11
строка12
строка13
строка14

*/
 
  • Спасибо
Реакции: impul5e

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
C#:
Random rnd = new Random();
int cnt = 50;//число строк которое нам нужно
var l = project.Lists["Список 1"];// тут наш список
List<string> ll = new List<string>();// тут пустой список в который мы положим нужное количество строк

ll = l.OrderBy(x=>rnd.Next()).Take(cnt).ToList();

return string.Join(System.Environment.NewLine,ll);

/* в переменную проекта вернется строка такого вида

строка1
строка2
строка3
строка4
строка5
строка6
строка7
строка8
строка9
строка10
строка11
строка12
строка13
строка14

*/
Ерунда полная. Мне не нужно чтоб копировало из списка в переменную. Нужно чтоб взятые строки удалялись из списка, и чтобы взятые строки были в строку через запятую..
 

ZHAG

Client
Регистрация
01.05.2014
Сообщения
228
Благодарностей
220
Баллы
43
Из первого предложения все стало ясно.
Более вам помочь ни чем не смогу. :D:D:D
 
  • Спасибо
Реакции: orka13, doc и Dimionix

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28

ZHAG

Client
Регистрация
01.05.2014
Сообщения
228
Благодарностей
220
Баллы
43
Решение твоей задачи представлено так как я понял его из твоего сообщения. Если ты не знаешь что такое C# и не понимаешь что написанно в моем сниппете так нада и говорить. А не указывать на то что я пишу ерунду.

Именно из-за таких реакций как у тебя, у других пропадает желание оказывать помощь.
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 125
Баллы
113
Полностью согласен с ZHAG. Вам, бля, помогают, а Вы выебываетесь ещё и никакой благодарности.
Просто тут все копируют одно и тоже - а дельного совета нет.
Ну копируете это Вы, а готовый сниппет уже давно написан и представлен тут.
 

maks_pays

Client
Регистрация
01.01.2017
Сообщения
186
Благодарностей
50
Баллы
28
Решение твоей задачи представлено так как я понял его из твоего сообщения. Если ты не знаешь что такое C# и не понимаешь что написанно в моем сниппете так нада и говорить. А не указывать на то что я пишу ерунду.

Именно из-за таких реакций как у тебя, у других пропадает желание оказывать помощь.
Что в данном снипете может быть не понятно. не понятно только то - где такое можно применить)))))
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 642
Баллы
113
Что в данном снипете может быть не понятно. не понятно только то - где такое можно применить)))))
советую обойти без сниппета самому. Взять кубик работы со списками, который берёт случайную строку. Взять второй кубик, который эту строку пристроит куда надо. И обернуть всё это в цикл. Такое под силу новичку.
Незачем просить код, в котором не в зуб ногой, а потом причитать по поводу непоняток
 
  • Спасибо
Реакции: Dimionix

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