• Как определить правильно пространство имен в C#?

    @J01 Автор вопроса
    Проблема решилась обновлением некоторых пакетов
    Ответ написан
    Комментировать
  • Как из большого ответа JSON получить (десериализовать) одно значение?

    @S0HardCore
    максимально просто

    try {
    dynamic json = JsonConvert.DeserializeObject<dynamic>(response);
    string myValue = json.suggestions[0].value.ToString();
    }
    catch (JSONException je){
    // handle
    }
    Ответ написан
    8 комментариев
  • Как вычислить интеграл с помощью формулы Симпсона?

    @Mercury13
    Программист на «си с крестами» и не только
    Перед нами типичная студенческая работа.

    Первое, что нужно сделать,— вынести расчёт интеграла в отдельную функцию. Помимо прочего, она должна принимать параметром n — количество точек разбиения. И проверьте, разумеется, работоспособность.

    Затем поднимаемся на более высокий уровень — налаживаем алгоритм выдерживания точности. Я бы написал так.
    n := 10
    yНовое := расчёт(n)
    повтор
      n := n·2
      yСтарое := yНовое
      yНовое := расчёт(n)
    пока |yСтарое - yНовое| > эпсилон
    вывести/вернуть yНовое

    Сможешь перевести на Си?
    Ответ написан
    Комментировать
  • Как вычислить интеграл с помощью формулы Симпсона?

    valeramayshev
    @valeramayshev Автор вопроса
    Студент,голодный,вредный,злой.
    #include <iostream>
    #include <math.h>
    #include <cmath>
    using namespace std;
    typedef double(*pointFunc)(double);
    double f(double x) {
    	return cos(x*x);
    }
    double simpson_integral(pointFunc f, double a, double b, int n) {
    	const double h = (b - a) / n;
    	double k1 = 0, k2 = 0;
    	for (int i = 1; i < n; i += 2) {
    		k1 += f(a + i * h);
    		k2 += f(a + (i + 1) * h);
    	}
    	return h / 3 * (f(a) + 4 * k1 + 2 * k2);
    }
    int main() {
    	setlocale(LC_ALL, "RUS");
    	double a, b, eps;
    	double s1, s;
    	int n = 1; //начальное число шагов
    	cout << "Введите левую границу интегрирования a = ";
    	cin >> a;
    	cout << "\nВведите правую границу интегрирования b = ";
    	cin >> b;
    	cout << "\nВведите требуемую точность eps = ";
    	cin >> eps;
    	s1 = simpson_integral(f, a, b, n); //первое приближение для интеграла
    	do {
    		s = s1;     //второе приближение
    		n = 2 * n;  //увеличение числа шагов в два раза,
    
    		s1 = simpson_integral(f, a, b, n);
    	} while (fabs(s1 - s) > eps);  //сравнение приближений с заданной точностью
    	cout << "\nИнтеграл = " << s1 << endl;
    }

    Если кому надо... Код не мой,я просто адаптировал его под задание...
    Всем спасибо за помощь,усердие,мотивацию! Особенно порадовал Roman, еще раз спасибо!
    Ответ написан
    Комментировать
  • Как лучше делать обновление?

    @SZolotov
    Asp.net core, MAUI,WPF,Qt, Avalonia
    Вот. Смотрите, изучайте
    Ответ написан
  • Где брать темы для оформления?

    @S0HardCore
    Есть Metro, MaterialSkin, Bunifu. Новые вряд ли появятся.
    Поискать можно в гугле - 'windows forms theme' или на гитхабе, выбрав C# и фильтруя результаты поиска.
    Ответ написан
    Комментировать
  • Есть ли open sourse Документооборот?

    @d-stream
    Готовые решения - не подаю, но...
    Нужно сделать документооборот для организации собственными силами
    А силы есть?

    Ну а если не такого то подскажите на каком языке лучше писать
    а где сила?

    Предлагаю начать с простого: на простом русском языке расписать подробное техзадание/требования к СДО на предприятии и схему внедрения. После этого уже думать дальше или же останавливаться.
    Ответ написан
    Комментировать
  • Как сделать привязку данных по выбору?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Можно попробовать сделать третье свойство, которое в геттере будет получать нужное свойство.
    Ответ написан
    6 комментариев
  • Как симулировать клики мышкой?

    profesor08
    @profesor08
    Потребуется пакет InputSimulator

    var sim = new InputSimulator();
    
    Cursor.Position = GetRequiredCursorPosition(clientUx);
    sim.Mouse.LeftButtonClick();
    Ответ написан
    Комментировать
  • Как скрыть форму, не работает Hide и Opacity?

    WNeZRoS
    @WNeZRoS
    Если весь этот код написан в обработке изменения состояния галочки, то проблема очевидна: у вас всегда создаётся новая форма.
    Ссылку на открытую и показанную форму нужно сохранить вне метода, и её прятать.
    Ответ написан
    Комментировать
  • Как скрыть форму, не работает Hide и Opacity?

    BasiC2k
    @BasiC2k
    .NET developer (open to job offers)
    Попробуйте не изменять прозрачность, а установить .Visible = False
    Ответ написан
    3 комментария
  • Зачем/Для чего нужен данный код?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Это геттеры и сеттеры. То есть функции доступа к свойству.

    Зачем? Попробую объяснить простым языком. Большие программы сложно полностью загрузить в мозг отдельного человека и представлять всю структуру целиком со всеми нюансами одновременно. Поэтому принято делить программу на части. Вынос кода в отдельную функцию - один из простых способов. В ООП к этой проблеме подходят более основательно. Класс как явление - тому пример.

    Класс делит программу как минимум на 2 части - то, что внутри класса, и то, что снаружи класса. Считается как бы, что класс пишет один человек, а пользуется им другой человек. Но это может быть и один единственный человек, всё равно так проще, потому что человек сначала пишет класс, тщательно всё там кодит и тестирует, а потом напрочь ЗАБЫВАЕТ, как он устроен внутри, потому что он уже готов и им можно пользоваться. То есть человек выгружает из своей ненадежной человеческой памяти эту инфу и переходит к следующей задаче, в которой просто использует этот класс. Всё, что ему нужно помнить, это то, как пользоваться классом, а всю подноготную можно забыть до тех пор, пока не понадобится улучшить класс. И здесь снова получается удобно. Когда будем улучшать класс (это не обязательно тот же самый человек), можно не думать о том, как его используют. Главное, чтобы способ взаимодействия с классом не изменился (не сильно изменился).

    В вашем примере - это просто заготовка. Дальше нужно наполнять эту заготовку функционалом. В самом простом виде геттер просто возвращает приватное свойство, а сеттер меняет его. Так нужно сделать сразу, чтобы потом не пришлось переписывать всю программу (и согласовывать с коллегами). Но даже здесь уже есть небольшое правило - нельзя передавать отрицательные значения. Условия могут быть сложнее. И вообще всё может быть сложнее. Например, вместо age можно хранить дату рождения. И функция GetAge будет каждый раз высчитывать разницу с текущей датой. По сути для внешнего использования ничего не меняется, но внутри происходит магия.
    Ответ написан
    3 комментария
  • Зачем/Для чего нужен данный код?

    yudinikita
    @yudinikita
    Инженер-программист из России
    Сейчас постараюсь объяснить своими словами, а ниже прикреплю более полную и точную информацию.

    0. age - приватная переменная, которая доступна только в пределах этого класса.

    1. GetAge() - публичная (открытая для всех классов) функция, которая возвращает значение приватной (скрытой от других классов) переменной. Часто называют геттер, от слова Get.

    2. SetAge() - публичная функция, которая устанавливает значение приватной переменной. Называется сеттер, от слова Set.

    Для чего это нужно?
    В первую очередь, для безопасности, а также:
    - соблюдение одного из основных принципов ООП (на котором и построен C#) - инкапсуляция.
    - для того, чтобы нельзя было напрямую изменять переменную из других классов.
    - для того, чтобы задавать дополнительные условия.
    Например, в SetAge() можно написать условие, при котором возраст можно указать только в пределах от 0 до 100, это позволит избежать множества ошибок.

    Также в C# существует более удобный синтаксис:
    public int Age { get; set; }
    Это если нужно просто принимать или устанавливать значение, также set или get можно вообще не писать, если он не нужен. А для более сложной логики можно написать так:
    private int _age;
    public int Age
    {
        get
        {
            return _age;
        {
        set
        {
            if(value > 0) _age = value;
        }
    }


    Статья на docs.microsoft:
    https://docs.microsoft.com/ru-ru/dotnet/csharp/pro...

    Статья про инкапсуляцию и для чего нужны get/set:
    https://metanit.com/sharp/tutorial/3.4.php
    Ответ написан
    Комментировать
  • Как объединить 2 функции в 1?

    @Ascar
    string Encrypt(string encrypt){...};
    Ответ написан
    Комментировать
  • Как объединить 2 функции в 1?

    bitniks
    @bitniks
    Go/PHP/Symfony developer
    Передавайте строку параметром и вызывайте функцию с разными параметрами (textBox3.Text и textBox4.Text)
    string Encrypt(string encrypt)
    {
        ...
    Ответ написан
    Комментировать
  • Как правильно выделить объект и класс в ООП?

    @Ascar
    Ваши доменные объекты будут примерно такими:

    class Bus{
        public string Model {get;}
        public string Number {get;}    
        public Driver Driver {get;}   
        public Line Line{get;}
        public Bus(string model, string number, Driver driver, Line line){
            Model = model;
            Number = number;
            Driver=driver;
            Line=line;
        }
    }
    
    class Driver{
        public string Name {get;}    
        public Driver(string name){
            Name = name;        
        }
    }
    
    class Line{
        public DateTime GoTime {get;}
        public string Number {get;}    
        public Line(DateTime goTime, string number){
            GoTime = goTime;
            Number = number;
        }
    }
    Ответ написан
    6 комментариев
  • Как выявить ВСЕ ошибки и несоответствия xsd-схеме xml-файла?

    @Farwisdomer
    https://social.msdn.microsoft.com/Forums/en-US/e64...

    На мой взгляд, сначала лучше проверить хмл на валидность (правильную структуру) и только потом по xsd схеме.
    Ответ написан
    1 комментарий
  • Как реализовать цикл в цикле?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Нужно просто индексироваться по модулю. Всё то же самое, только i < max(Encrypt.Length, bina.Length), а вместо Encrypt[i] - Encrypt[i % Encrypt.Length]. С bina аналогично.
    Ответ написан
    3 комментария