Ответы пользователя по тегу C#
  • Как назначить LShift и RShift на две кнопки расположенных на форме?

    @Dron_000
    Berserk/BrainFackMan
    Посмотрите WinApi, там можно из C# подрубиться к User 32 и проверять нажата ли клавиша...
    В C# проверять фокус на форме...
    На такой этажерке писали клавиатурный шпион год назад исходники не сохранились...

    Выглядело оно типо вот так
    https://blog.foolsoft.ru/c-primer-vyzova-winapi-fu...

    Вот книги "Учусь Win32 API"

    В.А. Безруков WIN32 API ПРОГРАММИРОВАНИЕ Учебное пособие 2009

    https://ru.pdfdrive.com/win32-api-Разработка-прило...

    Возможно, можно через стандартные средства C# закинуть обработчик события что вертится на кнопке... Подробнее буду смотреть в выходные...

    Удачи
    Ответ написан
    Комментировать
  • Как обрезать строку без лишних присваиваний?

    @Dron_000
    Berserk/BrainFackMan
    StringBuilder + пляски с бубном?
    Ответ написан
    Комментировать
  • Как упорядочить столбики матрицы за убыванием количеств нулей в этих столбиках?

    @Dron_000
    Berserk/BrainFackMan
    LINQ to Objects
    https://professorweb.ru/my/LINQ/base/level1/info_l...
    Операции OrderBy и OrderByDescending
    https://professorweb.ru/my/LINQ/base/level2/2_5.php

    Это векторная обработка массивов по лямбда выражению.
    Если не удастся выучить, то так и будет +100500 страниц кода.

    Иначе напишите процедуру попарного обмена значениями элементов массива из двух разных строк...
    Ответ написан
    Комментировать
  • Какие программы можно написать на C#?

    @Dron_000
    Berserk/BrainFackMan
    В порядке бреда...
    Могу на C# раскорячиться и написать быстрый код.
    Производительность съедает :
    1) вызов функций (если написать одним моноблоком то быстрее)
    2) Отсутствие оптимизации вообще, хотя-бы на уровне циклов.
    Про системные библиотеки вообще молчу...
    Там после реверс инжиниринга в c# исходном коде небоскреб из GoTo, прыжки туда и обратно много раз... В общем полный Биг Мак.
    3) Говорят в C# можно писать в не безопасном коде (Unsafe code) через указатели. Это правда.
    4) Говорят в C# есть аппаратное (моментальное) сложение массивов одинаковой длинны, через специализированны тип данных (по моему это вектор) и mmx мультимедийные регистры (либо видеокарта, либо графический сопроцессор - это догадки). В c# также при пошаговом исполнении можно перейти к дизассемблеру, как и в с++. В общем экспериментируйте сами...
    Подтвердить самому не удалось, не хватило времени.
    В c# ассемблерных вставок нет .
    5) универсальный или абстрактный инструментарий.
    На рефлексии алгоритм глубокого копирования (если сумеете написать), работает допустим 18 секунд.
    Если написать подхват-интерфейс для глубокого копирования и реализовывать его в каждом частном случае, то работает примерно 5 секунд.

    Ситуацию может исправить сильная 64 битная машина с грамотной реализацией многопоточности или многозадачности в самом программном коде, но это не панацея.
    Ситуацию может исправить туча микросервисов (TCP, UDP, HTTP), распределенная по сети слабых машин, как на крупных торговых площадках типа Ozon или Ali..., говорят так было лет 10 что ли назад. Не хотелось бы майнить...
    (на изыскания ушел месяц или два в фоновом режиме)

    Быстрый код - в промышленных масштабах это свойство теряется - там до неприличия: "Чих пых, тыры пыры, носки в уши, ноги в продакшен" (дословная цитата). Видел корпоративное приложение на C#, что загружается 5 минут. - Это диагноз невменяемости. И не пытайтесь не перепрете!!!
    Нарочно постараются и сделают 10 минут.

    Все надоело - учу FlatAssembler.
    Ответ написан
    2 комментария
  • Как сделать запись в прямоугольный массив?

    @Dron_000
    Berserk/BrainFackMan
    List> ?
    Там как-то все по мягче...
    На c# на производительность не надейся
    Ответ написан