Ответы пользователя по тегу C#
  • Как разобрать json на классы и переменные в c#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    1. Пишете нужный класс с нужными данными: Как правильно описать класс для библиотеки Newtonsoft.Json C#?
    2. Открываете ман Newtonsoft.json в разделе конвертеров: https://www.newtonsoft.com/json/help/html/CustomJs... и далее в гугле.
    3. Пишете свой конвертер
    4. Радуетесь результату
    Ответ написан
    1 комментарий
  • Как считать текст из файла и записать в другой со всеми переносами строк?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    RTFM:
    File.ReadAllLines
    ...
    Этот метод открывает файл, считывает каждую строку файла, а затем добавляет каждую строку в качестве элемента массива строк. Затем файл закрывается. Строка определяется как последовательность символов, за которой следует возврат каретки ('\r'), канал строки ('\n') или возврат каретки, за которым сразу же следует передача строки. Результирующая строка не содержит завершающего возврата каретки и (или) перевода строки.
    Ответ написан
    Комментировать
  • Как преобразовать из char массива в string массив в си шарп?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    1. На бумажке словами расписать алгоритм
    2. Нарисовать схему алгоритма
    3. Сделать декомпозицию схемы до самых простых действий
    4. Найти в документации по языку методы реализации этих самых простых действий
    5. Написать код
    6. Продебажить и исправить ошибки
    Ответ написан
    Комментировать
  • Как сереализовать JSON по определенным полям?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    • Кроме ContractResolver, есть еще ShouldSerialize: https://www.newtonsoft.com/json/help/html/Conditio...
    • Можно просто разделить на разные классы с разными полями
    • Можно дополнить класс отдельными методами для сериализации в разные варианты
    Ответ написан
  • Как использовать имя свойства класса из переменной?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Перегрузка индексатора
    public class Foo : Dictionary<string, int>
    {
        public new int this[string key]
        {
            get => this.GetValueOrDefault(key);
            set => base[key] = value;
        }
    }

    Foo f = [];
    string k = "key";
    Console.WriteLine($"Value not set: {f[k]}");
    f[k]++;
    Console.WriteLine($"Value ++: {f[k]}");
    f[k]++;
    Console.WriteLine($"Value ++: {f[k]}");
    f[k]--;
    Console.WriteLine($"Value --: {f[k]}");

    Value not set: 0
    Value ++: 1
    Value ++: 2
    Value --: 1
    Ответ написан
    Комментировать
  • Допустим у меня есть массив byte[] bytes и этот массив символизирует машинныый код программы, могу ли я запустить эту програму из своего кода?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Да, можете. Как-то так: https://keestalkstech.com/2016/05/how-to-add-dynam...
    Ответ написан
    Комментировать
  • Каким образом в WPF С# можно сделать так, чтобы кнопка закрытия (крестик) не закрывала окно?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Ответ написан
    Комментировать
  • Почему форма имеет такой некрасивый стиль?

    VoidVolker
    @VoidVolker Куратор тега Windows
    Dark side eye. А у нас печеньки! А у вас?
    Это стандартный вид стандартных окон ОС Windows. Не нравится стиль - всегда можно нарисовать свой. WinForms использует древнее легаси API GDI+. Есть еще WPF, MAUI - там уже более новое. У вас какой именно вариант? Там немножко по-разному стили задаются. При желании можно нарисовать все что угодно. Ко всему есть подробнейшие мануалы в сети.
    Ответ написан
    Комментировать
  • Почему не открывается после сборки?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Скорее всего что-то не было установлено - дотнет, библиотеки, пакеты и другие зависимости. Сделайте отладочную сборку с выводом всех ошибок и запустите её на целевой машине и смотрите, что оно требует. Аналогично с дистрибутивом - убедитесь, что все зависимости включены в дистрибутив и устанавливаются как и куда надо. Тоже сделайте отладочную сборку и проведите отладку дистрибутива.
    Ответ написан
    Комментировать
  • Как найти ближайшее число в списке из целых чисел?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Взять бумажку, ручку, лист бумаги и выполнить следующую последовательность действий:
    1. Расписать задачу текстом - что, как, зачем и почему
    2. Сделать декомпозицию задачи в несколько итераций до самых простых и понятных действий
    3. Написать простой и логичный псевдокод
    4. Используя написанный псевдокод реализовать логику в реальном коде
    5. Проверить и продебажить работу кода на каждом шаге, что все работает именно так, как и должно
    6. Внести исправления и доработки в код по необходимости
    Ответ написан
    Комментировать
  • Чем отличается в с# например int a {get;} от int a {get; private set;}?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    int a { get; }
    Свойство только для чтения: можно записать только в конструкторе или инициализаторе, а в методах класса и других способах нельзя изменить.

    int a { get; private set; }
    Свойство только для чтения снаружи класса: можно записать только внутри класса - в конструкторе, методе и в остальных способах.
    Ответ написан
    Комментировать
  • Как обезопасить программу С# от взлома?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Взломать можно все, что угодно - это лишь вопрос объема прикладываемых усилий/времени/денег для этого. Со стороны разработчика можно только осложнить этот процесс, но не предотвратить. Стандартная практика - осложнить взлом ровно на столько, чтобы объем затрачиваемых на взлом усилий себя не окупил или получаемая выгода была минимальна. Для начала вам следует определиться с ценностью того, что вы хотите защитить в своих приложениях и определиться с бюджетом времени/денег для затрат на защиту этих важных для вас данных, процессов и прочего. А уже потом прорабатывать меры защиты. Судя по вашим вопросам вам потребуется нанять консультанта, который поможет подобрать оптимальные для вас меры защиты.
    Ответ написан
    6 комментариев
  • Как разумно поставить себе начало в программировании (C++ и C#)?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Стоит ли мне двигаться дальше в изучении C++ или пока не поздно пересмотреть свои взгляды, касательно моего выбора?

    Если нравится и интересно - то да, почему нет-то? ЯП - всего лишь инструмент. Как молоток или гаечный ключ. Если умеешь пользоваться - то запросто берешь любой молоток и забиваешь гвоздь. Разонравятся плюсы или будут другие задачи, где плюсы не очень - переключайтесь на C#.

    Не поздно начинать своё обучение

    Нет, никогда не поздно.

    дайте пару советов и пожеланий, касаемо обучения

    Уже давно все есть: https://roadmap.sh/cpp

    Будут ли проблемы в трудоустройстве, если выбор останется неизменным

    В целом зависит только от вас и прикладываемых вами усилий. А так - под плюсы да, действительно вакансий не так уж много и есть некоторые сложности в их поиске, а те что есть - обычно ближе к оборудованию, робототехнике, МК и прочему. Если направление интересно - то почему нет-то? Еще отличным выбором будет C#/dotNet - сейчас он больше в сторону веба развивается, но и для десктопной разработки тоже достаточно популярен.
    Ответ написан
    1 комментарий
  • Можно ли демонстрировать или отображать программу .exe в окне своей же программы?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    И есть вообщем такая потребность, интегрировать окно Hammer Editor (Создание уровней для игр на движке Source) в проект.

    Это возможно при условии, если данное приложение предоставляет соответствующий интерфейс в виде DLL библиотеки. Смотрите документацию приложения либо его исходники, при наличии оных.
    Ответ написан
  • Как правильно реализовать большое приложение на c#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Организовать большую команду, состоящую из множества более маленьких команд, которые специализируются на своей части. Сам проект разбивается на множество более мелких проектов, а эти проекты на еще более мелкие модули. Для каждой задачи или группы проектов - своя команда. Разработка приложений такого объема занимают сотни тысяч и миллионы человеко-часов. Примерно так:
    1. Составляется краткое ТЗ
    2. Максимально подробно описывается проект в виде более детального ТЗ
    3. Нанимаете опытного IT менеджера
    4. Менеджер собирает команду для разработки частного ТЗ полностью со всеми деталями проекта
    5. На основе ЧТЗ формируются требования к командам для реализации проекта
    6. Подготавливается план разработки проекта
    7. Нанимается команда или команды сопровождения и поддержки - системные администраторы, менеджеры, аналитики, консультанты, бухгалтеры, юристы и прочие
    8. Организовывается рабочее пространство для команд разработки
    9. Нанимаются и организовываются команды разработки в соответствии с планом
    10. Ну и далее начинается основная работа - поэтапная реализация проекта
    Ответ написан
    Комментировать
  • Как не подгружать картинки в selenium? Сделать программу менее затратной по ресурсам?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Перегревается ПК и через пару часов отключает программу...нужно минимизировать затраты на программу

    Тут вам нужно охлаждение оптимизировать, а не программу:
    • Продуть радиаторы от пыли
    • Почистить пылевые фильтры
    • Обновить термопасту
    • Заменить и/или добавить вентиляторы
    • Правильно направить воздушные потоки внутри корпуса
    • Уложить провода
    • Открыть закрытые вентиляционные отверстия
    Ответ написан
    6 комментариев
  • Как устранить следующую ошибку в Visual Studio. Язык C#?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    ПКМ на подчеркнутом - установить пакет либо через нугет/консоль ручками.
    Ответ написан
    Комментировать
  • Как сделать конвертацию валют в C# в реальном времени?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Во-первых для валют следует использовать либо int либо decimal. Для получения же актуального курса валют используйте любое API в интернете - биржи, банки и т.д.
    Ответ написан
    Комментировать
  • Как на языке C# можно исключить ввод второго числа в консоль если выбранная операция извлечение корня?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Использовать стандартную проверку условия: если команде нужно одно число - то и просить ввода одного числа.
    Ответ написан
    Комментировать
  • Стоит ли брать Macbook AIR 13 m1 для разработки на VS + SQL MS?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Нет - проект VS для Мака закрыт. А то, что уже было сделано - не особо и юзабельно было. Про виртуалки на маке тоже можно забыть: потеря производительности для x86 примерно 90%. Берите машину с виндой. Мак имеет смысл брать только если будете разрабатывать ПО именно для него - вот тогда да, отладку и тестирование лучше сразу на нём проводить.
    Ответ написан
    Комментировать