Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532

Оптимизация для string.Join

16.09.2016, 17:21. Показов 2243. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
namespace Allowerd_Server.Object
{
    public class BaseChanelChat
    {
         public List<NetConnection> ListClients { get; private set; } = new List<NetConnection>();
 
         public void JoinClient(BaseClient client)
        {
            if (client.IsOnline)
            {
                client.Chanel?.LeaveClient(client);
                SendPacket(new Dictionary<string, object>() { { "method", "Chanel.JoinClient" }, { "login", client.Login } });
                ListClients.Add(client.Connection);
 
                string logins = string.Empty;
                for (int i = 0; i < ListClients.Count; ++i)
                    logins += ";" + BaseClient.Find(ListClients[i]).Login;
                client.SendPacket(new Dictionary<string, object>() { { "method", "Chanel.SyncClients" }, { "logins", logins } });
            }
        }
    }
}
Как оптимизировать сботку строки logins. Мне нужно собрать список логинов через ";" но они хранятся в другом классе который могу получить только спомощью BaseClient.Find(NetConnection connection)

Есть идеи?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.09.2016, 17:21
Ответы с готовыми решениями:

Неверные аргументы для String.Join на .Net 3.5
Ошибка: Наиболее подходящий перегруженный метод для &quot;string.Join(string, string)&quot; имеет несколько недопустимых аргументов. var random =...

Аналог метода string.join
Какой еще метод помимо String.Join можно использовать в 12 строке? int n; Console.Write(&quot;Введите количество...

Реализация интерфейса IEqualityComparer для HashSet<Dictionary<string, string>>
Код выдает &quot;2&quot;, что, логично, а хотелось бы, чтобы выдавал &quot;1&quot;, так как содержание словарей одинаковое. Подскажите, пожалуйста,...

8
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
16.09.2016, 17:47
SkoTi, Поленился открывать Visual Studio, проверь:
 Комментарий модератора 
Не надо выкладывать решения в виде фотографий. Это запрещено правилами.
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
16.09.2016, 18:01  [ТС]
Цитата Сообщение от EveKS Посмотреть сообщение
Поленился открывать Visual Studio, проверь:
В этом то и проблема. Как у ListClient юзнуть эту лямбду? через какую функцию?
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
16.09.2016, 18:06
SkoTi, т.е.
C#
1
logins=String.Join(";", ListClient(client=>BaseClient.Find(client).Login));
Не работает?
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
16.09.2016, 18:11  [ТС]
Ну да, каким макаром ты юзаешь List<> как метод?
Миниатюры
Оптимизация для string.Join  
0
 Аватар для Cupko
658 / 595 / 171
Регистрация: 17.07.2012
Сообщений: 1,682
Записей в блоге: 1
16.09.2016, 18:13
Лучший ответ Сообщение было отмечено SkoTi как решение

Решение

C#
1
logins=String.Join(";", ListClient.Select(client=>BaseClient.Find(client).Login));
1
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
16.09.2016, 18:16
Cupko, ахаххахах, точно xD Ну у меня листок бумаги не выдавал этой ошибки, норм компилилось
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
16.09.2016, 18:25
Цитата Сообщение от SkoTi Посмотреть сообщение
Есть идеи?
C#
1
StringBuilder.AppendFormat();
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
16.09.2016, 18:35
Тоже думал об StringBuilder.Append, но судя по заголовку -- нужен был String.Join
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.09.2016, 18:35
Помогаю со студенческими работами здесь

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population. Создание объектов может происходить как без...

Создайте класс Animal. Добавьте поля string Name, string Kind, string Areal, int Population
Здравствуйте! По C# есть задачка, с которой я так и не разобрался :( Задача: Создайте класс Animal. Добавьте поля string...

Блок схема для алгоритма: Оптимизация маршрута для перевозки товаров
Кто-нибудь может составить примерно хотя бы блок схему для следующего алгоритма? оптимизация маршрута для перевозки товаров. Алгоритм: ...

List<string, string, string> есть ли в C# что-то подобное?
Мне надо добавить в List не только имя файла, но и некоторые строки из этого файла. Т.е. например, у меня есть в определенном директории...

Как использовать String.Substring(string, string)?
Есть у String метод Substring(int, int), но он принимает только числа. Я видел на видео, что можно парсить по словам. Например: string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru