Ответы пользователя по тегу C#
  • Почему не правильно работает код C#?

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

    помедитируйте над результатами поискового запроса C# ввод чисел, и далее активно пользуйтесь гуглом, в том же стиле, для решения последующих вопросов

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

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Karnah,
    проект большой, потоки используются часто, баг единичный, нет стектрейса в управляемом коде. Искать ошибку в коде, значит искать иголку в стоге сена. Поэтому хотелось бы узнать, может есть инструменты, которые позволят больше узнать о проблеме.
    как бы это по деликатнее..
    помним, скорбим (с)
    но раз уж вы задаете вопрос в теге C# - есть один ход:
    - вносите отладочное логгирование
    - везде где запускаете поток (там же можно генерить уникальный id, хоть guid)
    - везде где успешно завершается поток (именно тут id был бы ценен)
    - набейте морду/напишите докладную/высскажете все что думаете, кодеру, за выпуск в продакшен такого сырца

    .. а вы что хотели?

    upd по мотивам каментов (обновлено)
    @Karnah,
    Хотелось бы комментарий по стектрейсу - он вообще не затрагивает код проекта. В какой ситуации это возможно?
    повторюсь - что у вас происходит, остается только телепатировать
    В дампе видно
    у вас BSOD что ли?
    1 - а чем смотрите? не все инструменты покажут полный стек. в этой части, возможно и есть выбор инструментов. только это не про C#
    2 - дамп то полный? может минидамп?
    3 - стек управляемого кода, искать в дампе, еще сложнее, чем дебажить ваш проект. просто по тому, что его там может не быть вообще. что бы он был - ваше приложение должно успеть поймать исключение. но если у вас BSOD - это значит операционка крешится раньше управляемого кода.. понимаете?
    4 - именно по этому, если у вас есть есть сорцы или автор - только основная часть ответа и дебаг
    5 - WPF в принципе не генерит потоки сам. пока кодер не начнет. по этому снова - без сорцов, без объяснения что у вас там вообще твориться? ваш вопрос подобен поискам дерева и мужика из старого, популярного кино

    Karnah,
    То есть ожидался ответы вида: "стектрейс выглядит странно,
    ни чего странного для
    таймеры .. и бесконечные циклы..
    абсолютно ожидаемые стеки на уровне неуправляемого кода. который система. просто у системы просят потоки, пока она не захлебнется
    Ответ написан
  • Имеет ли cмысл после Си учить C#?/Сколько времени уйдёт изучение на язык Си?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    базовый синтаксис - да, общий
    но семантика... лично мне шарп зашел после C (!! не C++.. хотя много лет позже, потихоньку тоже догнал..) и TurboPascal. тут возможно стоит дополнить - https://ru.wikipedia.org/wiki/%D0%A5%D0%B5%D0%B9%D... ;))) .. мне реально вштырило понимание ))).. думаю именно благодаря этому челу

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

    ps простите..
    Сколько времени уйдёт
    .. запамятовал ))
    так ответ - это зависит только от:
    - ваших способностей
    - вашего желания
    - вашего времени, которое вы сможете уделить занятиям

    .. разброс от недель до годов.. ))

    pps спасибо Сергей Горностаев, чуть не упустил..
    Си после Шарпа?
    на мой взгляд, можно Си до C#.. но не наоборот.. вопрос дискутируемый.. )).. но я начал бы много писать )).. и точно спорил бы со всеми )))
    Ответ написан
    3 комментария
  • Как переделать консольное приложение C# под WPF?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ни как. по крайней мере ни как автоматически. в общем случае это полностью переписать.

    - если есть логика не связанная интерфейсом (данные и обработки) - надо ее еще более четко изолировать

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

    ps что бы прибавить оптимизма:
    - о каких объемах кода идет речь? если десятки, даже сотни строк. это все не страшно. ну или страшно только на первый взгляд
    - а вот если десятки тысяч строк кода*, имеющего бизнес ценность - нужен рефакторинг. и, в итоге, все тоже, в общем то не очень страшно/сложно
    * - просто трудоемко ;))
    Ответ написан
    Комментировать
  • Как расположены файлы стандартных библиотек в c#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Правильно ли я понимаю, что эта строчка означает, что в нэймспейсе System есть ещё нэймспейс Collections, а в нэймспейсе Collections есть нэймспейс Generic?
    только логически. но это ни как не связано с расположением файлов.

    один наймспейс может быть размазан на несколько сборок (.dll, .exe) или одна сборка может содержать более одного неймспейса.

    отдельно, по поводу стандартных библиотек (и тогда уж не C#, а .Net вообще) можете погуглить GAC но это скорее для общей эрудиции. на начальных этапах не стоит увлекаться экспериментами с GAC. а по мере продвижения и так разберетесь

    ps если есть Visual Studio, можете погулять в дополнительных окнах
    указаных в скрине
    vYWTQAC.png
    Ответ написан
    3 комментария
  • Нужно много, но не сложно рисовать. Какой подход выбрать?

    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 надеюсь донес свою точку зрения, а уж если хоть какой то пункт будет полезен, то вообще супер. удачи! ))
    Ответ написан
  • Почему не выходит выполнить команду?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    попробуйте
    var command = @"C:\Program Files (x86)\TestProg\TestProg.exe -c -d";


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

    Александр Юдаков,
    ну или так?
    using System.Diagnostics;
    
    namespace run_app
    {
        class Program
        {
            static void Main(string[] args)
            {
                var pi = new ProcessStartInfo();
                pi.FileName = @"C:\Program Files\Notepad++\notepad++.exe";
                pi.Arguments = @"C:\Windows\System32\drivers\etc\hosts";
                Process.Start(pi);
            }
        }
    }

    выхлоп YC6ROFL.png
    Ответ написан
    8 комментариев
  • Аналог Eval из JS в C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    C# не является скриптовым языком. по этому точного аналога Eval нет. а интерполяция строк, судя по синтаксису, почти или совсем, такая же

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

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

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    начните с решения задачи - как вообще что то вывести в textBox...
    Ответ написан
    7 комментариев
  • Где функции InputBox?

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

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    совет - уж точно нет смысла читать что либо ниже C# 4.0. а так - опирайтесь на отзывы наверное

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

    для ознакомления https://habr.com/ru/company/raiffeisenbank/blog/451136/
    самая актуальная информация в MSDN, это место, в которое стоит заглядывать всегда. начиная с кнопки F1 в Visual Studio, в частности когда курсор на имени или типе переменной ;)))

    там есть и учебные примеры. но возможно некоторые, лучше смотреть после освоения базы..
    .. а некоторые можно сразу https://docs.microsoft.com/ru-ru/dotnet/csharp/tut...
    Ответ написан
    Комментировать
  • Что выбрать для написания серверной части c#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    для мессенджера скорее Socket. есть примеры реалтайм чатов на SignalR. хорошая основа

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

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    два пути:
    - изучать спецификаторы вывода от МС https://docs.microsoft.com/ru-ru/dotnet/standard/b... (в конце топика дополнительные ссылки, изучите их тоже)
    - выполнить нужное округление заранее
    https://docs.microsoft.com/ru-ru/dotnet/api/system...
    https://habr.com/ru/sandbox/76182/
    Ответ написан
    Комментировать
  • Как удалить объект из массива в Unity 2D?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    укажите о каком типе (классе) идет речь?

    ps Илья Гарбажий,
    GameObjects[]
    по правилам языка C#, это массив. динамическое изменение размерности не предусмотрено
    pps совет - используйте список. и стоит изучить различия
    Ответ написан
    5 комментариев
  • Как отключить возможность выбора, если выбрано более двух элементов CollectionView Xamarin?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    https://docs.microsoft.com/ru-ru/xamarin/xamarin-f...
    https://docs.microsoft.com/ru-ru/dotnet/api/xamari...

    что то мне подсказывает, что collectionView1_one.SelectedItems.Count;
    мало того, банальный IntelliSense визуалстудии, при вводе точки, и просмотре вариантов, должен это показывать
    грех задавать такие вопросы

    ps а еще F1 можно нажать на типе данных. в вашем случае CollectionView. и получить ссылки что в начале ответа
    Ответ написан
    Комментировать
  • Entity Framework Core как добавить сторонний параметр при загрузке данных из БД?

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

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

    удачи! ))
    Ответ написан
    2 комментария
  • Почему не транспонируется матрица?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    по тому что вы ее полностью перебираете, в итоге обмен происходит дважды

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

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

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

    ps если вы хотите обойтись без сервера - это в принципе возможно. но будет на порядок сложнее - придется освоить p2p технологии. если вы не являетесь экспертом в программировании вообще, и в этой области в частности, ваша цель отодвинется на годы. вы перегорите и/или идея станет не актуальной.

    совет - либо сайт-блог, либо приложение + Web API на Asp.Net (+ SignalR если нужен реалтайм), либо закажите у профи
    Ответ написан
    Комментировать