Задать вопрос
Ответы пользователя по тегу C#
  • Что важней видюха или проц, для разработки в C#?

    @rPman
    ответ Василий Банников верный

    Но есть нюанс, я видел как работает wfp приложение на очень старом (2005-2008 год) железе, на машине с не установленными драйверами на видео (что то встроенное ну совсем слабое) и как на такой машине видно процесс рисования окон, я даже помню на winform писал тестовое приложение, даже doublebuffer на поверку оказывался не таким уж и двойным, притом что какой-нибудь браузер работал более чем приемлемо (да тормозил скроллинг но не в пример все работало шустрее .net и конечно же тогдашние win32 приложения просто летали на той же машине)

    установка драйверов ситуацию исправляет, т.е. как минимум приложениям требуется поддержка 2d ускорения, т.е. какая-то видеокарта нужна, просто минимальная.

    Осторожно, и сейчас существует железо (что-нибудь на основе arm), где поддержки видеоускорителя нет или она проблематична.

    p.s. еще про оперативную память забыли, и про быстрый ssd диск. Для разработчика эти параметры под час даже важнее процессора, хотя его тоже рекомендуется максимизировать.
    Ответ написан
    1 комментарий
  • Как отправить http запрос на https://translate.google.ru на c# без использования api?

    @rPman
    Наиболее 'верный' и простой с точки зрения поддержки (так как гугл будет менять и обфусифицировать взаимодействие веб клиента с сервером) - это встроить внутри своего приложения браузер (например устаревшая WebBrowser, на основе ie или компоненты на основе webkit, в общем их там много), открыть внутри нужную ссылку (переводимый текст там можно вставлять в сам запрос) и прочитать ответ, распарсив итоговую страницу.

    Частые запросы переведут ваш ip адрес в режим - введите капчу
    Ответ написан
    Комментировать
  • ASP.NET Core 3.1 + IIS + Powershell SDK. Как запустить стороннее приложение через PowerShell на виртуальной машине?

    @rPman
    На сколько мне известно, единственный способ запустить процесс от пользователя, отличного от залогиненного, без запроса логина и пароля - это использование службы task scheduler (планировщик).

    Создаешь задачу без условий запуска, в свойствах указываешь что у тебя другой пользователь, вводишь логин пароль - все. Теперь чтобы запустить эту задачу нужно написать schtask /run ...

    p.s. тут обсуждалось как это сделать из power shell, но прав iis не хватит

    p.p.s. я запускал специальный процесс из под нужного пользователя, который мониторил специальный файлик на наличие команд и запускал его (для атомарности операций, чтобы не пилить базы данных, этот файл переименовывался во временный, запускался, удалялся и снова ожидание, если процессов пишущих в файл много - на каждый свой файлик, например с PID в имени), но сам сервис нужно как то запустить, если тебе нужен автоматический запуск при включении компьютера, т.е. опять службой

    p.p.p.s. Когда то очень давно была сторонняя утилита srvany, которая поднимала службу, позволяющую запускать указанную утилиту под правами службы, а сами эти права настраивались в реестре.
    upd. во
    Ответ написан
    Комментировать
  • Как лучше спроектировать базу данных, MySQL?

    @rPman
    Названия кошмар, даже не с русским делом, вот почему у тебя в одном месте лайк/дизлайк это 'статус', а в другом - 'лайк'?

    Добавь везде (статьи комментарии лайки жалобы...) время создания/время последнего редактирования, нужно для порядка вывода

    У лайков и жалоб нужна ссылка на пользователя, оставившего ее, почти наверняка понадобится эта информация позже.

    Справочник категория жалобы не понятно зачем там два поля название и описание, когда в самой жалобе есть примечание, но это мелочи

    Хранить пароль пользователя - плохая практика (храни к примеру его хеш, какой-нибудь sha256), но это уже на твое усмотрение, так как определит процесс авторизации
    Ответ написан
    1 комментарий
  • Как быстро скачать файл весом 4гб?

    @rPman
    Этот же файл от туда же и в то же время дня другими средствами (браузер, веб качальщики) качается быстрее?

    Если 'нет' - то причина скорее в интернет провайдере или на отдающей стороне (могут ограничивать скорость или просто перегружен провайдер)

    Если 'да', что маловероятно - то нужно смотреть, как именно качаешь файл, хотя с webclient сложно где то напортачить, может там реализация корявая? Как вариант, реализовать многопоточную закачку (бывает провайдеры как на отдающей стороне так и локальные, ограничивают скорость на подключение а не на всю сессию).
    Ответ написан
    2 комментария
  • Возможно ли сделать передачу картинки игры с пк на телефон в Unity?

    @rPman
    да, в юнити для стрима уже есть технологии.
    https://docs.unity3d.com/Packages/com.unity.render...

    да смартфон может выступать простым шлемом виртуальной реальности, гуглить - cardboard vr
    Ответ написан
    Комментировать
  • Как сделать добычу дерева в 2D игре?

    @rPman
    В общем два подхода (сначала игровые реши для себя)
    когда берешь в руки топор у тебя появляется/активируется скил (действие, такое же как ходить прыгать и т.п.) рубить
    - скил должен требовать чтобы в радиусе действия скила было дерево и даже к примеру должно быть выбрано (то с чем скил будет взаимодействовать) иначе он не может быть активирован (бывает когда при нажатии скила персонаж автоматически бежит к ближайшему объекту, который ему нужен, удобно когда надо бить по врагам мечом)
    - скил ничего не требует а просто активируется, воздействуя на объекты в радиусе действия скила
    а там, если что попало - рубит

    Во втором случае возможны выверты типа топор рубит сразу кучу деревьев, но тут вместо радиуса можно подобрать свою область активации, в т.ч. просто отрезок, так же можно прекращать обработку активации скила как только будет обнаружен хоть один нужный объект.

    Вот от сюда и начинай искать способы реализации.

    Например делать топор отдлельным объектом, а взаимодействие его через коллизии (подойдет для второго варианта, но мне кажется это заметное замедление, особенно когда персонажей с такой реализацией действий много, ведь это как минимум удвоение объектов).

    Можно сделать топор просто свойство у персонажа (анимация все равно для топора нужна, так и реализуй модель с топором, пусть и вариативным если нужно разный внешний их вид), т.е. это не топор ударяет по дереву а персонаж бьет дерево, проигрывая анимацию удара.
    Ответ написан
  • Чтение и запись лога разными программами?

    @rPman
    нужно открывать файл на запись с указанием прав на чтение, пример с FileStream
    Ответ написан
    Комментировать
  • Можно ли сделать неполную инициализацию массива в C#?

    @rPman
    arr[0] = new int[10]
    arr[0][1]=1;
    arr[0][8]=2;
    Ответ написан
    Комментировать
  • Как сделать графический интерфейс на Java, а логику на C#?

    @rPman
    Не нравится WFP, попробуй WinForms вдруг будет по душе?
    Java не лучшее место для создания UI, удобным я бы это не назвал

    Моста не будет, точнее любые средства создадут еще больше неудобств

    p.s. попробуй java mono
    Ответ написан
    Комментировать
  • Какие программы можно написать на C#?

    @rPman
    Мое мнение, написать можно но пользы как разработчику так и пользователям это не принесет.

    Названы проекты, у которых очень высокие требования к ресурсам компьютера, причем на столько что если задачи не решаются так быстро как это хочется, то это генерирует сильный дискомфорт пользователям.

    Скорость выполнения программ у .net сравнима с java, поэтому можете сравнить visual studio (написано похоже на си и c#) и к примеру eclipse (полностью на java), на последний я одно время слышал жалобы, типа кушает память, кушает проц как не в себя (я то как раз считаю eclipse лучшим проектом для подражания).

    Я к тому что рано или поздно придется критичные и важные вещи оптимизировать и уходить от managed кода в быстрый c/c++/компилируемый в нативный бинарник код
    Ответ написан
    2 комментария
  • Есть код для работы с браузером (использую Selenium), могу ли я открывать этот браузер внутри окна WinForms?

    @rPman
    Просто вариант, вдруг поможет: если что есть контрол WebBrowser (старый движок iexplorer11 trident) и теперь есть WebView2 для нового браузера на основе хромиум

    Да это не совсем то что нужно, но очень странно вместо того чтобы с браузером работать напрямую, дергать вызовы через прослойку
    Ответ написан
  • Как добавить свое приложения в меню при клике правой клавишой?

    @rPman
    Штатная утилита командной строки windows:
    assoc - регистрирует тип по расширению
    ftype - регистрирует приложение на тип

    больше контроля - в реестре
    Ответ написан
    2 комментария
  • Как правильно спроектировать приложение на C#?

    @rPman
    Для образовательных целей хранить в БД - нормально

    Используй Dataset, DataBinding и т.п. поддержка всего этого вместе с подключением к базе данных из коробки в интерфейсе visual studio, приложения пишутся почти полностью кликая мышкой в дизайнере.

    Используй упрощенные базы данных в файле - майкрософтовская mdb (это формат microsoft office access, можно создать и редактировать из Libreoffice) или лучше sqlite (нужна будет библиотека и сторонние утилиты для создания, например SQLiteStudio), не придется на старте ковыряться с серьезными базами данных, ну потом почему нет.

    Так же Dataset могут храниться в оперативной памяти и одной командой загружаться и сохраняться в xml файл
    Ответ написан
    Комментировать
  • Как разблокировать пк?

    @rPman
    как я понял утилиты нет (наверняка можно на повершеле что то нахимичить) вот тут пример програмки для создания сессии
    Для присоединения rdp сессии пользователя к консоли можно использовать это tscon
    Ответ написан
  • Как парсить данные с сайта C#?

    @rPman
    Берешь штатную компоненту WebBrowser, кидаешь его на форму если gui или вручную, прописываешь ему ссылку и инжекти в него на body.onload свой скрипт, который вызывает уже твои калбеки на с# либо сам со стороны программы проверяй содержимое document, там полноценный доступ к dom

    этот способ будет работать вне зависимости от того как создается содержимое сайта, на бакенде или на клиенте javascript

    недостаток - если используется майкрософтовский компилятор, то компонента будет устаревший internet explorer 11, если же собрать mono - будет фаерфокс
    Ответ написан
  • Как начать цикл не в перовом байте файла?

    @rPman
    В коде отсутствует смещение позиции чтения файла, перед циклом for нужно сделать Seek?

    И в цикле ошибка, в условии окончания его зачем то к length прибавляется startByte
    Ответ написан
    Комментировать
  • Как перевести приложение с WinForm на Web?

    @rPman
    Тебе не понравится результат но возможность есть
    https://github.com/roozbehid/WasmWinforms

    p.s. лучше конечно так не делать, а пилить нормальное веб приложение
    веб и так из-а неадекватно глупых и ленивых разработчиков превратился в лагучее кошмарище, не надо это приумножать.
    Ответ написан
    1 комментарий
  • Как преобразовать список в массив байт и обратно?

    @rPman
    Этот процесс называется сериализация и десериализация. Есть бинарные и текстовые (xml/json/...). Формат определяете вы или берите готовый (.net предлагает штатные сериализаторы - BinaryFormater, гуглите, stackoverflow дает готовые примеры). К сожалению главный недостаток штатного сериализатора - стоит измениться версии компилятора и совместимость разваливается (текстовые само собой не так часто), хз зачем и почему так сделали, вполне возможно что если покопаться можно поддерживать разные версии в пределах одного приложения, но это достаточно глупо.

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

    @rPman
    Переводите в секунды T.
    Если нужно равномерное распределение, то просто берите N случайных чисел со значением от 0 до T и сортируете их по возрастанию.
    Ответ написан
    Комментировать