Ответы пользователя по тегу C#
  • Как заменить пакет asp net core all на только нужные зависимости?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    вы не можете создавать микс из кусков .NET Core 2.* и .NET Core 3.*
    а так то нет проблем - https://docs.microsoft.com/ru-ru/aspnet/core/migra...
    Ответ написан
  • Как обновлять информацию одной формы из другой не закрывая ее?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    1 - в главной форме (далее гф) делаете публик поля для дочерних форм
    2 - в дочерних формах (далее дф) делаете паблик поле для главной формы
    3 - при создании дф, передаете гф через конструктор или присваиваете сразу после создания
    4 - вместо ShowDialog() используете Show()
    5 - для переключения используйте Select()

    ps код не просите. но если выложите где то свой проект - подправлю при наличии времени [и настроения]
    Ответ написан
  • Возможно ли нарисовать блок схему описывающую программу структуры ООП?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    Возможно ли вообще строить блок-схемы по объектно ориентированному коду
    ООП концепции адекватнее отображать с помощью uml, но не ГОСТ 19.701-90. вы можете отобразить алгоритм исполнения по госту для консольных программ. для форм или wpf в общем то тоже, но вам придется уже углубиться в механизм обработки событий для того что бы такая блок схема была корректной
    как мне обозначит что в этом месте будет исключение и там будет две ветки развития событий?
    тут ключевое слово ветвление, если вы понимаете куда реально произойдет передача управления в случае выброса исключения - нет проблем это отобразить

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

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
  • Как узнать есть ли поле в JSON?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    спарсить
    Ответ написан
  • Почему не транспонируется матрица?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    по тому что вы ее полностью перебираете, в итоге обмен происходит дважды

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

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    для начала более внятно сформулировать задачу. даже самому себе. дальше пойдет полегче
    Ответ написан
  • Как создать приложение - блог?

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

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

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

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    - если этот метод https://vknet.github.io/vk/messages/setChatPhoto/ у вас тут оба параметра обязательные, выписывать их именования не нужно, это только загромождает код
    - если бы вы привели еще фрагмент кода, можно было бы копировать ваши имена. кода нет - копирую имена из спеки
    - к сути - если вы объявляете переменную для MessageId выше, то описания не видно, проблема может быть там. попробуйте не объявляйте переменную заранее, а получить ее прямо во время вызова. вот так
    SetChatPhoto(out var MessageId, File)
    Ответ написан
  • Как узнать на чем проект .net core или asp .net?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    а еще можно открыть свойства проекта, и поискать опцию "целевая платформа"
    Ответ написан
  • Как передать из функции tuple?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    ну я бы не стал заморачиваться с именованием членов кортежа. но если очень хочется, вроде в МСДН все было внятно прописано. гуглим что то типа кортежи C#
    пример кода ниже, две функции используют разные способы доступа к элементам кортежей. на мой взгляд самые практичные. ну и задача
    как описать две функции, которые принимают и возвращают подобные tuple?
    там точно решена
    сам код
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace experience_with_tuples
    {
        class Program
        {
            static void Main(string[] args)
            {
                var t = (1, "test", true);
                ConOut_tuple(job_with_tuple(t));
                // хотя можно и так. но не забываем про скобки
                ConOut_tuple(job_with_tuple((1, "test", true)));
            }
    
            static (int, string, bool) job_with_tuple((int, string, bool) t)
            {
                (var i, var s, var b) = t;
                i++;
                s += " successful";
                b = !b;
                return (i, s, b);
            }
    
            static void ConOut_tuple((int, string, bool) t) =>
                Console.WriteLine(
                    t.Item1 + Environment.NewLine +
                    t.Item2 + Environment.NewLine +
                    $"detected errors: {t.Item3}"
                    );
        }
    }

    выхлоп
    mw6Fhhh.png

    upd еще об именовании
    как только вы хотите именовать члены кортежа, что бы все было строго и логично и через десяток листов кода ясно понимать что это тут у нас?
    вам уже нужен не кортеж а класс. хотя иногда лучше структура. но это совсем отдельная и вполне достойная внимания тема.
    кортеж классная штука, но она [реально классная] для решения локальных задач в функциональном стиле. в идеале, когда не зависимо от количества строк, и так все сразу ясно и понятно. типа на входе проекция в кортеж, а на выходе сразу декомпозиция. тогда по коду и так видно что происходит.
    типа такого
    public (int, int) MovePoint(int x, int y)
    {
      // bla-bla-bla
      // изменения x, y
      return (x, y);
    }
    ...
    (var newX, var newY) = MovePoint(oldX, oldY);
    Ответ написан
  • Как выполнить запрос c# httpclient, если сервер требует js?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    в каментах выше подсказана суть - много чего может формироваться js
    в вопросах ботизации нас интересует только клиентская сторона, что генерируется на сервере не очень важно, если на клиенте все отрабатывает так как ожидает сервер
    selenium классика но и не единственный вариант:
    - расширения браузеров (которых вы хотели бы избежать)
    - безголовые браузеры (прям так и гуглите, можете добавлять слова бот, автоматизация, тема оч популярная)
    - cefsharp (а нас же тег C#?) (но я бы не сказал что низкий порог входа)
    - GeckoFx мне оч нравится, но катастрофически редко обновляется
    - chromiumfx менее известен, зато регулярно обновляется
    - если сайт поддерживает IE, WebBrowser/WebView (Forms/WPF) в шарпе "из коробки" (под виндой)
    - в принципе есть еще WebView UWP (метро) там сразу Edge. но порог вхождения тоже повыше немного будет
    Ответ написан
  • Что выбрать, Unity или .NET?

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

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    для десктопа под винду - достаточно C#
    для веб-фронта - достаточно js
    для веб-бэка.. тут вопрос интересный.. можно и C# обойтись
    но если в вакансии присутствуют слова web, C# и фулстек, думаю потребуются оба. а еще html/css.. sql.. а еще умение вертеть всеми как жонглер 33-мя (не опечатка) шариками
    Ответ написан
  • Не понимаю как работают ссылки на сборку в C#?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    про Visual Studio? если да:

    еще один, не совсем очевидным но очень простой способ:
    - кинуть новый файл cs в папку проекта
    - в панельке обозревателя проекта изучить кнопочки (можно наводить и задерживать мышку, будет всплывать подсказка)
    - выбрать "отображать все файлы"
    - ваш новый файл кода станет видимым, но серым
    - ПКМ на нем, в локальном меню "включить в проект"
    - предпочтительно после этого выключить "отображать все файлы" обычно это только мешает

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

    ps про dll
    - можно подключить сорцы плагина отдельным проектом. иногда это может быть на много правильнее чем валить сорцы в кучу
    см скрины под спойлером
    ltUrhSj.pngvA1o7mw.png в этом месте надо поставить галочку, но просто мне в это паре проектов связь не нужнаbXUBeX1.pngдолжна была получиться стрелка на кнопку "ОК" но чет не влезло.. звиняйте ))
    Ответ написан
  • Как реализовать браузер в desktop приложении?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    - ранее указанный CefSharp вероятно самый перспективный, учитывая тенденции на рынке браузеров
    - есть GeckoFx. Семплы под формс есть. Мне показалось порог вхождения ниже. Но (см выше) тенденции однако. А главное слишком редко обновляется. Сам фокс может успеть внести радикальные изменения в движок, пока проект выпустит обнову. Мне интересен тем, что накоплен приличный опыт переноса профилей фокса всего 7 или 8ю файлами
    - для потренироваться, новичкам вполне сгодятся WebBrowser/WebView (Forms/WPF). Зато «из коробки». Но это IE, увы. Есть еще WebView в UWP – это Edge, но там придется грызть XAML при чем все даже чуток мудренее чем просто в WPF. Но по большому счету и инфы навалом, и в магазине пачки демо приложений

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

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    начиная с появления .net core - он стал кроссплатформенным
    с выходом .dot net 5 разделение опять исчезнент. дотнет будет кроссплатформеным тотатльно
    если интересно почитатать https://habr.com/ru/company/raiffeisenbank/blog/451136/
    хотя уже есть более свежие обзоры

    ps про VS для OS X уже упомянуто. под динукс (да и вобще подо все) есть бесплатный VS CODE. есть еще тоже тотально кроссплатформенный Rider от JetBriins. но у него не существует бесплатных редакций. разве что только беты
    Ответ написан
  • Если шансы устроиться C# ASP.NET разработчиком без ВО?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    Собственно думаю стоит ли готовить портфолио на .NET стеке
    а сможете? сделайте. да такой что бы у работодатеоя слюки птеклию. вопрос и отпадет
    Ответ написан
  • Как учить программирование без пк?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    1 - есть книги. в том числе всьма авторитетные. мало того - есть онлайн и книги, и курсы, и задачники
    book.lib.rus.ec
    https://metanit.com/sharp/tutorial/
    https://www.codewars.com/
    2 - онлайн IDE и близкие к ним инструменты
    https://sharplab.io/
    https://dotnetfiddle.net/
    https://ideone.com/
    https://rextester.com/

    ps
    - это далеко не все. дружите с поисковиками
    - а вот на экран телефона вероято влезет не все
    - если кто то под баном, опять же поисковики подскажут
    Ответ написан
  • Как изменить элемент из другого класса?

    mindtester
    @mindtester Куратор тега C#
    делаю странные вещи..чаще на C#.. иногда за деньги
    1 - так и покажите где и как обявлен label2
    2 - и где, по отношению к ней, находится код, который пытается нзменить label2
    3 - приведите убедительные доказательства, что этот код кообще реально вызывается (да, и такие ошибки бывают. но тут достаточно break point в студии поставить)

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

    вольная фантазия - возможно вы повесили модификатор public на метод, который пытается изменить label2, но возможно умудрились label2 сделать недоступным. по дефолту визуального конструктора, он скоре всего так public, но может это вторичная фрма? которую вы всю всю сделали private?... (хотя тут и компилятор бы ругнулся..) тем не менее - без полной картины качественный ответ невозможн

    звиняйте экстрасенсы в отпуске (с) ))

    ps старый и слепой (((
    int score=0;
    label2.Text = "хоть что то";
    while (score <= 0) 
    {
                        score = textBox1.TextLength;
                        richTextBox1.Text += score;
                        if(score>0)
                        label2.Text = score.ToString();
    }


    это на 100% бесконечный цикл. он имеет шанс на выход, только в случае, если score имеет отрицательное значение. но...
    - мы имеем инициализацию int score=0;, мало того, изначальное инициализиреуем label2 не пустым значением, а это будет только подливать керосина в костер, но уже в теле цикла
    - далее бесконечно score = textBox1.TextLength; вот только это значение ни когда не может быть отрицательным (а судя по остальному коду цикла, даже вряд ли нулевым хоть когда либо)
    - и напомниню исловие цикла while (score <= 0) (то есть равенство нулю допустимо волею автора изначально) прервать эту вакханалию может только отрицтельное значение.. ну или break; по какому то осмысленному условию, которое реально может наступить в достаточно короткие сроки.. а не через годы, а то ведь бешатой собаке семь верст не круг (с)

    похоже что все у вас происходит, только название этому - зависание (по заумному - бесконечный цикл)
    Ответ написан