• Как выполнить эти задания?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Вам тут не решалка задач.
    Ответ написан
    Комментировать
  • Как реализовать Аудио плеер в c#?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    Можете посмотреть в сторону библиотеки NAudio для декодирования и воспроизведения аудио. GUI можно сделать на wpf/uwp или avalonia. Можно ещё сделать вместо очередного GUI-плеера - консольный плеер, как линуксовый cmus - для реализации такого UI можно воспользоваться Gui.cs
    Ответ написан
    Комментировать
  • Как реализовать таблицу Шульте?

    vabka
    @vabka Куратор тега C#
    Токсичный шарпист
    В простейшем виде - вам нужны массивы чтобы хранить саму таблицу и класс System.Random, чтобы распределять числа по этим массивам. И ещё что-нибудь, чтобы вывести эту таблицу - например в текстовый файл, чтобы потом напечатать на принтере - тогда берём System.IO.File
    Для получения более конкретных ответов - давайте более конкретные вопросы :)
    Ответ написан
    2 комментария
  • В чем разница между int.Parse() и Convert.ToInt32() в C#?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    С MSDN
    Использование метода ToInt32(String) эквивалентно передаче value методу Int32.Parse(String).value интерпретируется с использованием соглашений о форматировании языка и региональных параметров текущего потока.
    Ответ написан
    2 комментария
  • Какое оформление предпочтительнее?

    FoggyFinder
    @FoggyFinder
    Общие замечания (ко всем кусочкам):

    Нет разделения на функции (проблема: дублирование кода, усложняет восприятие)

    Вынесите каждую часть в удобный метод и вызывайте. Например:
    * Получение числа с консоли
    * Поиск минимального из трех чисел
    * Проверка на четность

    Вам будет намного понятнее что выполняет код - ваш взгляд охватит несколько вызовов и не будет отвлекаться на конкретные детали реализации.

    Общие проблемы закончились, теперь сверху вниз:

    1 кусок:

    1. [ Критично ] Нет проверки на корректность ввода. Пользователь может случайно ввести букву и метод Convert.ToInt32 выбросит исключение. Довольно неприятно.

    2. Нарушение соглашения об именовании для переменной FinalResult

    3. Необязательная инициализация переменной FinalResult при объявлении.

    4. [ Субъективно ] Проблемы с форматированием: тернарный оператор занимает слишком много места для одной строки

    5. [ Может рассматриваться как придирка ] Копипаст подход. Вывод сообщения можно вынести из if-ов в - он одинаков для всех случаев.

    2 кусок:

    1. [ Критично ] Аналогично предыдущему

    2. Нарушение соглашения об именования для переменной MuchSmaller

    3. Объявление и лишняя инициализация переменной MuchSmaller намного впереди реального использования.

    4. Слишком сложные условные выражения.

    5. Аналогично п.5 предыдущего примера.

    3 кусок:

    Здесь, ура!, нет основной проблемы которая встречается во всех остальных примерах.

    1. Нарушение соглашения об именовании для переменной Result

    2. Странная смесь английского и русского языка в информационных сообщениях

    3. Странная смесь использования интернирования строк ($) и старого форматирования.

    4 кусок:

    1. [ Критично ] Нет проверки на корректность ввода. Пользователь может случайно ввести букву и метод Convert.ToInt32 выбросит исключение. Довольно неприятно.

    2. [ Существенно ] Копипаст подход для проверки на четность.

    3. Избыточные скобки в switch case

    5 кусок:

    1. [ Критично ] Нет проверки на корректность ввода. Пользователь может случайно ввести букву и метод Parse выбросит исключение.

    2. Проблемы с названием переменных. inputOne

    Итого:

    3-ий вариант условно нормальный. Остальные хуже.

    Упражнение:

    Попробуйте написать свой вариант с учетом замечаний перечисленных выше =)
    Ответ написан
    Комментировать
  • Какое оформление предпочтительнее?

    Zoominger
    @Zoominger
    System Integrator
    Да все норм, кроме второго.
    А этот кусочек странный:
    Console.WriteLine("Введите 3 числа: ");
                int q = Convert.ToInt32(Console.ReadLine());
                int w = Convert.ToInt32(Console.ReadLine());
                int e = Convert.ToInt32(Console.ReadLine());
    Ответ написан
    5 комментариев