Ответы пользователя по тегу .NET
  • Как разделить UI и логику десктоп приложения C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    смотрите в будущее:
    - просто десктопная утилита? реализуйте по пути наименьшего сопротивления
    - есть задумки на дальнейший рост? тогда изучайте паттерны. приложение под большую нагрузку, все больше становится похожим на веб-приложение
    Ответ написан
    Комментировать
  • Почему всё выводится в одну строку?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    не, ну ты мутишь..
    в коде:
    Console.Write(ch);а потом
    Console.WriteLine();
    taskA.Start();
    Console.WriteLine();
    taskB.Start();

    ... ты определись..
    в таске и бросай что то из https://habr.com/ru/articles/165597/

    P.S:
    Работает если просто вызвать, асинхронно тоже, но параллельно почему-то нет

    и не будет по сути - консоль (системы) последовательный процесс
    ... если ты осмыслил остальное, то обдумай что я говорю

    pps опробуй все тоже на winforms/wpf и так далее ( в разные окна вывода...
    а консоль то одна...
    можешь в линуксе проверить... (хоть в wsl...

    ppps хотя... консолью можно управлять и координатно (в соответствии с текущей размерностью)... (тот же мой любимый far это консольная программа)..
    но там точно уже не Console.WriteLine()...
    или winapi или линуксовые api... как то так...
    в винде far
    в линуксе - mc
    .. это консольные программы, оба проекта опенсорц ;)
    .. есть esc-последовательности для управления курсором.. думаю для простейшего прогресс-бара хватило бы.. иначе - апи ОС, примеры выше
    Ответ написан
    6 комментариев
  • Как отсортировать вложенные друг в друга объекты?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    сортировка "дерева" не имеет смысла, если вы не делаете проекцию на массив/коллекцию..
    если делаете, то совет Василий Банников, самодостаточен..
    есть отдельная тема "балансировка деревьев"... применимо ли?... зависит от способа построения и типа дерева
    Ответ написан
    Комментировать
  • Как реализовать атомарное обновление 2 файлов?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    у тебя ключевое слово - транзакция. медитируй над ним.
    ...
    ну а так... на вскидку... ?
    ну создаешь ты копии.. кстати, метка времени, хотя она и у файлов может быть адекватной..
    ну допустим файлы-флаги-завершения этапа транзакции? на каждый этап!
    ... если все крешанулось, то по наличию одного или более флагов, уже строишь алгоритм полного или частичного отката

    ... я так думаю... раз уж ты не на бд, а на файлы оперся...

    ps ну или временный лог транзакции... так сказать.. ну и все чистить по успешному завершению

    pps MVV,
    в файловой системе NTFS есть встроенная поддержка транзакционного обновления
    еще бы нарыть инфу об этом )))
    - это белее чем реалистично, современные ФС (а NTFS точно) по сути специализированные СУБД
    - подписываюсь!
    - если кто нароет хотя бы на уровне winapi, подписываюсь допилить до шарпа.. ну мало ли... ну или поделитесь!!! )))

    ... хотя на отдельных файлах флагах-этапов транзакции.. скорее топорно, но надежно... по тому что топорно ;)))
    ... а еще и переносимо между ОС ))
    Ответ написан
  • Почему Windows Forms берет ошибки из неоткуда?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    с 22 ток начинаю.. но вообще то вам все подсказывают
    2JZLpDu.png
    Ответ написан
    Комментировать
  • Как автоматически инициализировать свойства объекта?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    - это нормальный способ
    - иной способ это конструктор
    - вы знаете другие способы?
    Ответ написан
  • Как получить код завершения программы?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    помедитировать 1
    using System;
    
    namespace ConsoleApp1
    {
        class Program
        {
            static int Main(string[] args)
            {
                  // по фиг что
                  returnt <что то int>;
            }
        }
    }
    Ответ написан
  • Как выводить разные сообщения?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    нужно раз в 10 секунд
    .. да пофиг что. что то делать по таймеру. в гугл C# Scheduler
    .Net Scheduler тоже можно, но боюсь выдача будет несколько беднее
    Кто знает, как можно такое сделать без создания дополнительного списка?
    все кто поработал над изучением C# - LINQ. по крайней мере, пока у вас не миллиарды записей в списке структур
    Ответ написан
    1 комментарий
  • Как вызвать прерывание в child классе?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    1 - base.OnTriggerStay(other); ретурнит то из себя
    2 - примерно так
    class One : Number
        public override void OnTriggerStay(Collider other)
        {
           if (hasInteract)
               return;
           Debug.Log(other.gameobject.name)
        }

    3 - upd .. ну и осознать суть override и base
    4 - а еще отладчик можно освоить. в VS по F11 по шагам пройти и все понять )))
    Ответ написан
    1 комментарий
  • Архитектура игры. Как отделить меню от игрового цикла?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    возможно вам надо помедитировать тут - Цикл событий
    и тут - command based application event loop (upd в этом месте можно и нужно творчески менять запрос до полного просветления)
    Ответ написан
    Комментировать
  • Нужно много, но не сложно рисовать. Какой подход выбрать?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    по моему классический случай, когда не знаю как называется создает большую проблему
    - на сколько я помню, задача все еще не перешла в ранг тривиальных, зато точно уже есть решения во множестве
    - подход [к снаряду] первый c# визуализация графов
    - подход к снаряду второй ща пороюсь в закромах и накидаю ссылок, то есть буду обновлять ответ, постараюсь не много раз (ну тут уж звиняйте гарантий точной пригодности быть не может)
    .. или платные не нужны совсем? (тогда github - поиск по правильным словам, и стукните, что бы я не спамил платными решениями поздно ))).. пошли кандидаты:
    - https://www.yworks.com/products/yfiles-net
    - https://www.nwoods.com/products/godiagram/
    - https://www.nevron.com/products-dot-net-vision.aspx
    .. продолжение следует пожалуй я преувеличил свои закрома (на самом деле что то найдется почти у всех популярных платных вендоров либ. но я проверил на соотвествие запросу. как его понял)

    ps надеюсь донес свою точку зрения, а уж если хоть какой то пункт будет полезен, то вообще супер. удачи! ))
    Ответ написан
  • Как написать функцию которая для отсортированного маcсива целых чисел определяет, содержится ли в нем заданное значение?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    Пытался многими способами
    а какими?
    что можно придумать на 4й день, кроме полного перебора? для справки - для не сортированных наборов, других способов нет в принципе )))
    ... и он должен работать надежно )))

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

    для заведомо сортированных наборов, таких как https://docs.microsoft.com/ru-ru/dotnet/standard/c... надеюсь, что будет применяться алгоритм двоичного поиска (слово надеюсь тут по тому, что не смотрел исходники, хотя это вполне возможно. корка вся опенсорц, да и классический дотнет просматривается механизмами студии)

    ..но не знаю как это для 4го дня? хотя.. скорее уже как минимум 5го? бинарный поиск возможно сложновато пока?

    на самом деле нет, надо просто быть настойчивее в обучении. удачи ))
    Ответ написан
    6 комментариев
  • Entity Framework Core как добавить сторонний параметр при загрузке данных из БД?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    EFC (как и EF) предполагает что значимые поля у вас проецируются в колонки БД. но на сколько помню свой скромный опыт, класс может содержать логику, не в геттерах/сеттерах, но методы вполне работают. когда их вызывать будет на вашей совести

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

    удачи! ))
    Ответ написан
    2 комментария
  • Как узнать на чем проект .net core или asp .net?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а еще можно открыть свойства проекта, и поискать опцию "целевая платформа"
    Ответ написан
    Комментировать
  • Что выбрать, Unity или .NET?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    цель то какая?
    если трудоустройство - .net
    еще одна не очень радостная новость - .net все тоже самое
    спрос хороший, но на спецов. ну может чуток больше шансов куда то нырнуть джуном не имея ни особо глубокого опыта в самом кодинге, ни опыта какой либо предметной области
    Ответ написан
    Комментировать
  • Чем занимается .NET программист?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    пишет программы, на C#, VB.NET или F#, или на нескольких из эти языков. есть экзотика типа ironPython или PHP.NET, но это редко. есть даже Lisp и Prolog. это обычно как доролнение к майнстриму, перчисленному выше.
    на dotnet можно создаать и полноценный десктопны софт. и, бэкенд к мобайлу или вебу. можно создваать игры, особенно в Unity. есть целая инфрвраструктура для встраиваемых устройств и робототехники
    по мере становления dotnrt core, бэк на дотнете сстановится еше и кроссплатформунным
    и это еще наверняа не все
    Ответ написан
    3 комментария
  • Что лучше прочесть для изучения .NET Framework и WMI?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    гуглится много аж глаза разбегаются но мне бы найти конкретно для меня, для чайника
    совет чайнику - вы просто начните, можно 2-3 источника сразу. и сравниватей как заходит
    более того. когда сочтете что уже не чайник, все равно сравнивайте более одного источника. это очень сильно продвигает опыт
    еще совет - смаостоятельное решенеи (и его поиск) неотемлемая часть работы программиста. по крайней мере хорошего - точно. практикуйтесь
    рутрекер к сожалению не помог, что то на эту тему там очень мало, старое, и на английском
    книги всегда фатально отстают от реальности. но книг среди и есть такие, которые достоины быть настольными. для этого надо переформулировать вопрос. и опять же на такой вопрос успешно ответит и гугл. (затруднения с деньгами? уверяю, основные шедевры найдутся и на рутрекере тоже. тогда уж librusec добавьте в источники тоже. там уже давно ввели платное, хотя и копешное сачивание (да и не за все), но по прежнему многое мжно просто читать с сайта)
    .. завершая мысль - хрошую книгу следует совмещать со свежайшими примерами MSDN. может не сразу, может в промежутке что то типа https://metanit.com/sharp/tutorial/

    успехов!
    Ответ написан
    Комментировать
  • План изучения C# чтобы стать C# junior - как улучшить?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1 - все перечеркнуть и начать действовать
    2 - потом можно достать скомканый черновик из корзины.. ну и допустим добавить функциональная парадигма (куда вы без LINQ уедете?.. хотя LINQ это еще далеко не вся потенциально возможная функциональщина)
    Ответ написан
    2 комментария
  • Как организовать хранение объекта с таймером на сервере без СУБД?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Комментировать
  • Какую БД и механизмы использовать для работы с разных устройств?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    в приоритете Postgresql
    хороший вариант для бекенда (СУБД на удаленном сервере. а значит, для безопасности как минимум, еще и покрытая слоем API)

    если хотите локальную, такую же кросcплатформенную СУБД как и само приложение, скорее всего это SQLite
    Ответ написан
    6 комментариев