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

    manul
    @manul
    Вот так например
    System.Diagnostics.Process.Start(@"C:\Windows\system32\dfrgui.exe");
    Ответ написан
    2 комментария
  • Где посмотреть на CTS в .NET Framework?

    manul
    @manul
    int, string, float - псевдонимы подставляемые компилятором для типов из .NET.
    Как если бы у вас в файле было такое обьявление: using int = System.Int32;
    Посмотреть где что лежит можно в студии, правый клик по имени типа, "Go To Definition".
    Ответ написан
  • Абстракция "сокрытие информации"?

    manul
    @manul
    Забейте на эти определения. Вот вам private и protected, это сокрытие информации. Всё просто.
    Насчёт var - автор вашего видеокурса очень и очень заблуждается. Ведь есть ide которая подскажет тип, есть typeof, в кнце концов можно просто посмотреть код выше. Да и вообще - в сокрытии типов таким образом смысла никакого нет.
    Ответ написан
    Комментировать
  • Чем отличается Visual C# от C#?

    manul
    @manul
    Язык один - C#
    Visual C# - это компонент в среде Visual Studio, отвечающий за его поддержку.
    Ответ написан
    Комментировать
  • Как упростить (оптимизировать) код?

    manul
    @manul
    Для начала избавьтесь от копипасты
    private Thread GetThreadData(ThreadStart startData)
    {
        Thread result = new Thread(startData);
        result.IsBackground = true;
        result.Start();
        return result;
    }
    Ответ написан
    Комментировать
  • Что изучать C# или С++?

    manul
    @manul
    C# не то что бы легче, просто язык многое делает неявно за тебя, многие вещи сложны внутри, но простые для использования.
    C# усваивается легче, идет сразу с библиотеками почти на все случаи жизни.

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

    Понимание C++ дает лучшее понимание как устроена та или иная фишка из C#.

    Вот пример "неявности" C#:
    struct StackWork {  
            public Int32 Value;
        }
    
       class HeapWork {
           public Int32 Value;
       }
       
       // ...
       StackWork sw1 = new StackWork();
       StackWork sw2 = sw1;
       sw2.Value = 475;
      
       Console.WriteLine( sw1.Value.ToString() ); // 0
       
       // ...
       HeapWork hw1 = new HeapWork();
       HeapWork hw2 = hw1;
       hw2.Value = 475;
    
       Console.WriteLine( hw1.Value.ToString() ); // 475


    То есть, область выделяемой под обьект памяти (куча или стек) зависит от типа, причем при одинаковом синтаксисе ( "new TypeName()" ).
    Конечно, это сделано для удобства, но в C# ты не можешь выбирать в какой области памяти разместить свой обьект!

    А вот пример на "страшных и неинтуитивных плюсах":
    struct MyWork {  
            int Value = 0;
        }
        
       //...
       // Явно, выделяем память в стеке
       MyWork sw1;
       MyWork sw2 = sw1;
       sw2.Value = 475;
       
       cout << sw1.Value; // Как и ожидалось, 0
       
       // Явно, выделяем память в куче
       MyWork * h1 = new MyWork;
       MyWork *h2 = h1;
       hw2 -> Value = 475;
       
       cout << hw1 -> Value; // Как и ожидалось, 475


    Интересные вещи есть и там и там.
    Для бизнеса конечно выгоднее C# (никаких заморочек, поддержка, библиотеки).
    Но все же C++ интереснее для саморазвития.
    Ответ написан
  • Как правильно искать совпадения с рекулярками вида "*туттекст*тутещетекст*", где * любая последовательность символов?

    manul
    @manul
    По методам класса String смотрите и пишите свою функцию в чем проблема?
    Ответ написан
    Комментировать
  • C# вызов private?

    manul
    @manul
    Для начала не стоит называть обработчик события транслитом.
    Во вторых если вы используете WPF, то приватный обработчик просто указывается в XAML разметке или при создании кнопки в методе класса.
    Например:
    class Example : Window
    {
        // Обработчик события
        private void ExampleButtonClick ( Object sender, RoutedEventArgs e )
        {
            //код
        }
        
        // Конструктор
        public Example()
        {
          // Создаем кнопку
             Button exampleButton = new Button();
    
          // Привязываем к ней приватный обработчик
             exampleButton.Click += ExampleButtonClick;
        }
    }

    С WinForms примерно такая же ситуация.
    Другое дело если вы хотите привязать приватный метод экземпляра к событию другого класса - это недопустимо.
    Ответ написан
    Комментировать
  • На чём можно попрактиковаться на С#?

    manul
    @manul
    Попрактиковаться можно написав программу. Не абстрактную, а выполняющую осмысленные действия. Ведь программиста делают программистом написаные им программы.
    Другой вопрос что именно писать. Советую начать с файлового менеджера с GUI, постепенно наворачивая на него функционал.
    Ответ написан