...

Добавить в строку через запятую всех пользователей, которые были выбраны в поле Пользователи (N-N)

Тема в разделе "Разработчикам", создана пользователем dimich1978, 19 фев 2020.

  1. dimich1978

    dimich1978 Member

    доброго дня.
    Пока ни как не получается у меня сделать следующее.
    На форме я выбираю в поле Пользователи (N-N), несколько пользователей. Далее я хочу их ID, через запятую занести в строку.
    Пробую
    Код:
    for (int i = 0; i < context.usersForSubprocess.Count; i++)
    {
    context.Where += context.Requests_temp.ToArray () [(int)context.usersForSubprocess].User;
    }
    Но по моему что-то не то, где
    Requests_temp:
    User (Пользователь Объект)
     
  2. zinger

    zinger New Member

    если я правильно понял и
    context.usersForSubprocess - список юзеров, а
    context.Where - строка, в которую хотим Id, то

    if (context.usersForSubprocess != null && context.usersForSubprocess.Any())
    foreach (var us in context.usersForSubprocess)
    {
    if (context.Where == "")
    context.Where = us.Id.ToString();
    else
    context.Where += ", " + us.Id.ToString();
    }
     
  3. dimich1978

    dimich1978 Member

    Спасибо zinger,
    у меня вариант получился вот такой
    Код:
         for (var i=0; i < context.usersForSubprocess.Count; i++) {
    context.Stroka1 += context.usersForSubprocess.ElementAt(i)+",";
    }
     
  4. zinger

    zinger New Member

    тоже можно, но так вы получите запись типа "2, 14, 17, 1,", т.е. с запятой на конце. Если это вам не критично, то норм. Ну и прибегать к массиву смысла не вижу, если изначально все уже хранится в листе.
     
  5. ahkyamov

    ahkyamov Member

    сложно делаете, проще:
    Код:
    string IdsString = String.Join(",", context.usersForSubprocess.Select(u=>u.Id));
     

Поделиться: