Профиль пользователя заблокирован сроком с 4 февраля 2022 г. и навсегда по причине: необходима проверка личности владельца аккаунта (в соответствии с п.2.6 условий пользовательского Соглашения)
  • Ошибка CS5001, как исправить?

    @pfemidi
    Тут могло бы быть краткое описание меня
    А какого лешего тут:
    static void Main(string[] args, char d)

    какой-то параметр "char d"? Вот его надо выкинуть, вообще.
    Ответ написан
    5 комментариев
  • Ошибка CS5001, как исправить?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    https://docs.microsoft.com/ru-ru/dotnet/csharp/mis...

    https://docs.microsoft.com/ru-ru/dotnet/csharp/pro...
    public static void Main() { }
    public static int Main() { }
    public static void Main(string[] args) { }
    public static int Main(string[] args) { }
    public static async Task Main() { }
    public static async Task<int> Main() { }
    public static async Task Main(string[] args) { }
    public static async Task<int> Main(string[] args) { }
    Ответ написан
    Комментировать
  • Возможно ли перенести проект C# на C++/CLI?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Ровно там же написано для чего используется C++/ CLI
    Для работы со старым кодом и для обхода некоторых ограничений более выкоуровневых языков.
    На cli пишите ресурсоемкую часть кода, все остальное в том числе и интерфейс пишите на C#.
    Это наиболее правильный путь.
    Ответ написан
    2 комментария
  • Как взять третье слово из строки?

    0xD34F
    @0xD34F Куратор тега JavaScript
    как тоже самое сделать при помощи метода match?

    (str.match(/\S+/g) ?? [])[2]

    что будет быстрее?

    split, но вы этого не заметите
    Ответ написан
    Комментировать
  • Приложение выкидывает InvalidOperationException?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Вот я открыл статью и там первым делом делают захват микрофона, а у вас нет.
    Ответ написан
    1 комментарий
  • Можете объяснить как работает компаратор?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    const нужен потому, что если компаратор будет что-то в контейнере менять, у контейнера явно поедет крыша. Профессионалы вешают const (а еще лучше - constexpr) на любую сущность, которая не должна меняться по логике алгоритма.

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

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    * git - хотя бы базовые команды
    * sql - опять же базовый набор, размерности типов, джойны, индексы
    * трекеры - jira, redmine
    * какой нибудь front - angular Или Vue
    * желательно знать чуть html5 и css3
    * linux - базовые команды, system-d (создать сервис, посмотреть логи, перезапустить)
    Ответ написан
    5 комментариев
  • Исключение это и есть ошибка?

    freeExec
    @freeExec
    Участник OpenStreetMap
    Ну а в чём моя ошибка, если ты заставляешь меня делить на ноль? Или просишь открыть меня файл, который ты почему-то не создал? Или так забил память, что мне её не хватило? Поэтому я тебе и сообщаю, об исключительной ситуации, разгребать последствия которой нужно тебе, а не мне - обычной функции. Возможно это у тебя ошибка. А мой код работает чётко.
    Ответ написан
    Комментировать
  • Исключение это и есть ошибка?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вот тут разжевано.
    https://stackoverflow.com/questions/912334/differe...

    По сути исключения это и есть ошибки, но некоторые мы можем обработать, на других мы ломаемся.
    Например WebException в принципе предсказуемо, у меня паршивый канал и я пробую еще раз, FormatException вывожу что то в лог.
    Просто Exception гашу все на уровне приложения, что бы его не разрушить, записываю в лог и предлагаю пользователю кнопки поругать меня или попробовать снова

    UPD
    Самое главное забыл
    https://docs.microsoft.com/ru-ru/dotnet/standard/e...
    Ответ написан
    Комментировать
  • Можно ли создать шаблон только для одного метода класса?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Можно ли создать шаблон только для одного метода класса?

    Да, можно. В чём сложность взять и попробовать?
    class C {
    public:
        template<typename T>
        void f(T v)
        {
            ...
        }
    };
    Ответ написан
    2 комментария
  • Как заставить работать скрипт только на мобилках?

    staik
    @staik
    Front-end developer
    Добрый вечер.

    Если вы работаете с jquery, то все просто:
    if($(window).width() < 992){
        //function
    }
    $(window).resize(function(){
        if($(window).width() < 992){
            //function
        }
    })


    Если работаете с js, то там немного по-другому

    if(window.innerWidth < 992){
        //do function
    }
    window.addEventListener("resize", function(){
        if(window.innerWidth < 992){
            //do function
        }
    }, false);


    Должно по идее работать
    Ответ написан
    1 комментарий
  • Зачем нужный абстрактные методы?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Ответ написан
    Комментировать
  • Перегрузка методов - это не более, чем синтаксический сахар?

    GavriKos
    @GavriKos
    Перезагрузка методов - это выдуманный вами термин.
    А то что вы описали - это перегрузка.

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

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

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Ответ написан
    Комментировать
  • Чем отличаются записи по созданию объекта класса?

    freeExec
    @freeExec
    Участник OpenStreetMap
    A a2 - это ничто, вы просто описали сигнатуру переменной, считайте просто футляр от скрипки. Пока вы не создали объект (скрипку) через new, который вы положите в футляр, вы не можете ни чего с футляром делать. Нельзя сыграть на скрипке a2.X = 1; если её нет.
    Ответ написан
    Комментировать
  • Как получить значение checkboxa из шаблона Listboxa?

    @WinnerIT
    Программист и фотограф-любитель
    состояние CheckBox у Вас хранится в IsCalc.
    Если Вы хотите запись по изминению значения IsCalc, то это делается в set:
    bool _isCalculated;
    public bool IsCalc 
    get
    {
      return _isCalculated;
    }
     set{
       if (value != _isCalculated)
    {
       _isCalculated = value;
     SaveMeInDbMethod(_isCaluclated);
     // TODO: посмотреть в гугл NotifyPropertyChanged или RaisePropertyChanged() в VievModel
     NotifyPropertyChanged("IsCalc");
     }


    Если Вы хотите по клику на CheckBox, то ищите в гугл как привязать Command к EventTrgger. На пример.
    Ответ написан
    2 комментария
  • Как найти самое часто используемое слово в тексте?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    var text = "test the text test on test platform";
    var words = text.Split(' ');
    var stat = words.Distinct().ToDictionary(word => word, word => words.Count(x => x == word));
    foreach (var (key, value) in stat) Debug.WriteLine($"Word: {key} count: {value}");
    Ответ написан
  • Стоит ли использовать здесь перечисления?

    Collin
    @Collin
    Стоит, так будет удобнее и понятнее.
    namespace TryEnum
    {
        enum DownloadType
        {
            Video, Audio, Custom, Unknown, Default
        }
        enum ForceIpProtocol
        {
            IPv4, IPv6
        }
        enum ProxyProtocol
        {
            HTTPS, HTTP, SOCKS4, SOCKS5
        }
    }


    А использовать вот так:
    5ed7670d68591771166057.png

    А по поводу интерфейсов... Интерфейсы не должны быть вместо классов; класс реализует интерфейс (выглядит синтаксис как наследование class ClassName : IClassName, но это не совсем наследование, там немножко другая реализация). И интерфейс нужен в том случае, если нужно реализовать полиморфизм в коде и/или что бы упростить доступ к публичным полям в классах, которые реализуют этот интерфейс.
    Например: у нас есть много классов с разными реализациями, но их всех объединяют одни и те же свойства (к приеру свойства public string Name ( get; set; ); public int Age( get; set; ); и тд...). Интерфейс в данном случае нужен для того, что бы через него мы получали доступ ко множественному поведению, при помощи разных классов, содержащих одноименные свойства, не плодя при этом код.

    Для наглядности:

    у нас есть метод Create(); в котором мы хотим создавать новых людей

    static void Create()
            {
                // empty...
            }


    Есть разные классы, которые создают Human и реализуют интерфейс IHuman

    class SimpleHuman : IHuman
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public SimpleHuman()
            {
                Name = "Generic human...";
                Age = 20;
            }
            public SimpleHuman(string name) : this()
            {
                Name = name;
            }
            public SimpleHuman(string name, int age) : this()
            {
                Name = name;
                Age = age;
            }
        }


    class CoolHuman : IHuman
        {
            public string Name { get; set; }
            public int Age { get; set; }
            public CoolHuman()
            {
                Name = "BOB!";
                Age = 20;
            }
            public CoolHuman(string name) : this()
            {
                Name = name;
            }
            public CoolHuman(string name, int age) : this()
            {
                Name = name;
                Age = age;
            }
        }


    interface IHuman
        {
            string Name { get; set; }
            int Age { get; set; }
        }


    И теперь, благодаря реализации интерфейса в этих классах мы можем удобно использовать этот самый интерфейс, например:
    class Create
        {
            public IHuman Human { get; set; }
            public Create()
            {
                Human = new CoolHuman();
            }
            public void Hello()
            {
                Console.WriteLine("Hello, {0}. Today you are {1} years old", Human.Name, Human.Age);
            }
        }


    Конкретно в вашем случае интерфес не нужен.
    Ответ написан
    4 комментария
  • Как получить код завершения программы?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Вот примерный код будет ловить все, и даст вам 5 секунд что то сделать.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Text;
    using System.Threading;
    
    namespace TestTrapCtrlC{
        public class Program{
            static bool exitSystem = false;
    
            #region Trap application termination
            [DllImport("Kernel32")]
            private static extern bool SetConsoleCtrlHandler(EventHandler handler, bool add);
    
            private delegate bool EventHandler(CtrlType sig);
            static EventHandler _handler;
    
            enum CtrlType {
             CTRL_C_EVENT = 0,
             CTRL_BREAK_EVENT = 1,
             CTRL_CLOSE_EVENT = 2,
             CTRL_LOGOFF_EVENT = 5,
             CTRL_SHUTDOWN_EVENT = 6
             }
    
            private static bool Handler(CtrlType sig) {
                Console.WriteLine("Exiting system due to external CTRL-C, or process kill, or shutdown");
    
                //do your cleanup here
                Thread.Sleep(5000); //simulate some cleanup delay
    
                Console.WriteLine("Cleanup complete");
    
                //allow main to run off
                 exitSystem = true;
    
                //shutdown right away so there are no lingering threads
                Environment.Exit(-1);
    
                return true;
            }
            #endregion
    
            static void Main(string[] args) {
                // Some biolerplate to react to close window event, CTRL-C, kill, etc
                _handler += new EventHandler(Handler);
                SetConsoleCtrlHandler(_handler, true);
    
                //start your multi threaded program here
                Program p = new Program();
                p.Start();
    
                //hold the console so it doesn’t run off the end
                while(!exitSystem) {
                    Thread.Sleep(500);
                }
            }
    
            public void Start() {
                // start a thread and start doing some processing
                Console.WriteLine("Thread started, processing..");
            }
        }
     }
    Ответ написан
    Комментировать
  • Как превратить плоский массив в дерево?

    0xD34F
    @0xD34F Куратор тега JavaScript
    попытался решить все через рекурсию

    Рекурсией конечно можно:

    const createTree = (data, idProp, parentProp, parentId) =>
      data.reduce((acc, n) => (parentId === n[parentProp] && acc.push({
        ...n,
        children: createTree(data, idProp, parentProp, n[idProp]),
      }), acc), []);
    
    
    const tree = createTree(data, 'id', 'parentId', null);

    Но вовсе не обязательно:

    function createTree(data, idProp, parentProp) {
      const tree = Object.fromEntries(data.map(n => [ n[idProp], { ...n, children: [] } ]));
    
      return Object
        .values(tree)
        .filter(n => !(tree[n[parentProp]] && tree[n[parentProp]].children.push(n)));
    }
    
    
    const tree = createTree(data, 'id', 'parentId');
    Ответ написан
    Комментировать