• Как получить значение data-атрибута?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Для ООП думаю надо будет создавать класс описывающий xml структуру (описание), конкретно для данного фрагмента этот класс будет выглядеть так:
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Runtime.Serialization;
    using System.Xml.Serialization;
    
    [DataContract(Name = "span")]
    public class Span
    {
    	/// <summary>
        /// 
        /// </summary>
        [XmlAttribute("class")]
        public string VerticalInterval { get; set; }
    	
        /// <summary>
        /// 
        /// </summary>
        [XmlAttribute("data-ng-bind")]
        public string DataNgBind{ get; set; }
    }

    Для серелизации и десерилизации Span можно использовать следующий класс:
    namespace Common
    {
        using System.IO;
        using System.Xml.Serialization;
    
        public static class Serialization
        {
            public static string SerializeToString(this object obj)
            {
                var xmlSerializer = new XmlSerializer(obj.GetType());
                var stringWriter = new StringWriter();
                xmlSerializer.Serialize(stringWriter, obj);
                return stringWriter.ToString();
            }
    
            public static T DeserializeString<T>(this string sourceString)
            {
                var xmlSerializer = new XmlSerializer(typeof(T));
                var stringReader = new StringReader(sourceString);
                return (T)xmlSerializer.Deserialize(stringReader);
            }
        }
    }

    или можно так:
    var _span = new Span();
    _span.VerticalInterval = "vertical-interval-xsmall form-field-input";
    _span.DataNgBind = "bonusInfo.bonusData.CardNumber";
    
    // передаем в конструктор тип класса
    XmlSerializer formatter = new XmlSerializer(_span.GetType());
    using (FileStream fs = new FileStream("model.xml", FileMode.OpenOrCreate))
    {
    	formatter.Serialize(fs, _span);
    	Console.WriteLine("Объект сериализован");
    }
    Ответ написан
  • Как написать следующее приложение?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Думаю вам надо сначала понять, что вы хотите получить в итоге.
    Если программа будет работать на одном ПК, то возможно стоит посмотреть в сторону SQLite, при этом для установке на др. компьютер вам надо будет просто скопировать папку с проектом.
    Если подразумевается многопользовательский доступ, то тут есть несколько вариантов:
    - клиент-sql server;
    - клиент-сервер-sql server;
    Преимущества и недостатки обоих методов можно будет посмотреть в интернете.

    Далее, если вы планируете в дальнейшем развивать проект, то стоит задуматься об архитектуре и условно разделить приложение на несколько уровней:
    - Уровень работы с БД или DAL (тут нужно и использовать ORM);
    - Уровень бизнес-логики или BLL, на этом уровне уже выполняться все проверки и обеспечение правильной логики работы;
    - Уровень представления, тут уже можете отображать данные, вводить данные и т.п. с помощь WPF, ASP.NET, Winform.

    Ну если вы решите использовать трехзвенную структуру, то еще думаю стоит посмотреть WCF.

    Советую почитать книгу Применение DDD и шаблонов проектирования
    Ответ написан
  • C# Как переписать toString для свойства?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Если get возвращает примитивный тип, то что-то переопределить не получится или делать класс-обертку, но это сразу скажется на производительности, поэтому их лучше переопределять в вызывающем коде.
    Если get возвращает структуру или тип, то все проще, просто переопределяется ToString()
    вот пример:
    public class Company : IDbEntity
        {
            /// <summary>
            /// id компании
            /// </summary>
            public int Id { get; set; }
    
            /// <summary>
            /// Наименование компании
            /// </summary>
            public string Name { get; set; }
    
            /// <summary>
            /// Описание
            /// </summary>
            public string Description { get; set; }
    
            public override string ToString()
            {
                return $"{Name}";
            }
        }
    Ответ написан
    Комментировать
  • Как компилировать C++, JAVA?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Есть несколько вариантов например через вызов exec или через Common Gateway Interface (CGI). Вот хороший пример
    Ответ написан
    Комментировать
  • Что должна возвращать функция в catch блоке?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    В блоке Try вы помещаете потенциально небезопасный код. В блоке Catch вы обрабатываете нештатную ситуацию, но при этом необходимо понимать, что в стек может быть поврежден. Обычно в данном блоке фиксируется нештатная ситуация или исключение передается вышестоящей функции оператором throw. В блоке finality происходит очистка ресурсов, вызов finality осуществляется уже сборщиком мусора в неизвестный момент времени.
    При этом возможны вариации try-catch или try-finality
    Ответ написан
    Комментировать
  • Что лучше использовать, что бы определить различность изображений?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Тут как я вижу два подхода использовать EMGU (openCV) или реализовывать алгоритм самостоятельно, как вариант использовать корреляционную функцию или FFT, а также можно использовать нейронные сети. Если изображений много и время на их обработку критично, то использование с++ + OpenCv более предпочтительней, хотя и сложней, но производительность тут существенно выше. Ну и в качестве экзотики использовать для этого DSP или ПЛИС
    Ответ написан
    3 комментария
  • Как скрыть форму после нажатия кнопки "Открыть" в OpenFileDialog?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    if (ofd.ShowDialog() == true)
    {
        Opacity = 0f;
    }
    
    Opacity = 1.0f;
    Ответ написан
    Комментировать
  • C# — Возможно ли(как) использовать «||» в массиве?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Можно конечно так, но это не самая лучшая реализация
    public static void Main(string[] args)
     {
          string[] names = { "васе", "пете", "коле" };
                var names2 = "Позвонить ";
                var readline = Console.ReadLine();
                //поиск имени
                var word = names.FirstOrDefault(n => (names2 + n) == readline);
    
                if (!string.IsNullOrEmpty(word))
                {
                    Console.WriteLine("Вызов" + names.Aggregate((a, b) => a + ", " + b));
                }
                else
                {
                    Console.WriteLine("Ошибка");
                }
                Console.ReadLine();
     }


    Но в качестве быстрого решения сгодится
    Ответ написан
  • Приложение для ресторана. Как рекомендовать блюдо?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Можно попробовать эмпирически на основе статистики или через нейронную сеть, причем через НС, мне кажется, более предпочтительно.
    Ответ написан
    Комментировать
  • Как правильно использовать void и return в С#?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Вот пример, думаю он объяснит
    public class Program
        {
            public static void Main(string[] args)
            {
                //Просто вызываем функцию
                summaNumbers(100);
                Console.WriteLine();
                Console.WriteLine(summaNumbersAndReturnCount(100));
            }
            
            static void summaNumbers(int x)
            {
                for (int i = 0; i <= x; i++)
                {
                    //Условие проверяющее, что допустим дальше расчитывать смысла нет и поэтому
                    //вызываем return завершающее данную функцию и возвращающее управление Main
                    //if(condition == 0)
                    //    return;
                    
                    if (i % 3 == 0 && i % 5 == 0)
                    {
                        Console.WriteLine(i); 
                    }
                }
            }
            
            static int summaNumbersAndReturnCount(int x)
            {
                var _count = 0;
                for (int i = 0; i <= x; i++)
                {
                    //Условие проверяющее, что допустим дальше расчитывать смысла нет и поэтому
                    //вызываем return завершающее данную функцию и возвращающее управление Main
                    //if(condition == 0)
                    //    return;
                    
                    if (i % 3 == 0 && i % 5 == 0)
                    {
                        _count++;
                    }
                }
                
                return _count;
            }
        }
    Ответ написан
    Комментировать
  • Какими средствами создается среда для симуляции каких-либо процессов [C#]?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Если хотите самостоятельно реализовать:
    Структура данных список деревьев;
    Узел - какой-то базовый класс или интерфейс;
    Список операций:
    - Добавить / удалить / изменить узел;
    - Отправить/ принять сообщение (тут вполне может использоваться глобальная очередь, в которую поступают сообщения от узлов, а обработчик в зависимости от адреса отправляет сообщение адресату)
    - Поиск узла
    - Обход дерева для определения маршрута или поиска узла.

    Данные думаю лучше хранить в БД

    Если не нужно реализовывать, что можно поискать на просторах интернета компьютерное моделирование
    Ответ написан
    Комментировать
  • Возможно ли в консольной команде на c#, менять цвет символов находящихся в строке?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Вот пример
    Console.ForegroundColor = ConsoleColor.Red;
    Console.BackgroundColor = ConsoleColor.Yellow;
    Console.WriteLine("Вычисления c и s круга");
    Console.WriteLine("");
    Console.ForegroundColor = ConsoleColor.Yellow;
    Console.BackgroundColor = ConsoleColor.Black;
    Console.Write("Введите радиус > ");
    double r = Convert.ToDouble(Console.ReadLine());
    //длина окружности:
    double c = 2 * Math.PI * r;
    //площадь круга:
    double s = Math.PI * r * r;
    //округляем значения:
    c = Math.Round(c, 2);
    s = Math.Round(s, 2);
    //печатаем результаты вычислений в консольном окне:
    Console.ForegroundColor = ConsoleColor.Green;
    Ответ написан
    Комментировать
  • C#-найти пиксель/группу пиксов в Bitmap?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Разбейте bitmap на сектора и каждый сектор обрабатывайте в отдельном потоке (ThreadPool, Parallel или Task с запуском дочерних заданий и возможностью отмены при нахождении) + как сказано выше, использование Bitmap.LockBits.
    Ответ написан
    Комментировать
  • Операционная система для умного дома на C++ c полного нуля. Как?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Для любой идеи нужна прежде всего концепция, а также понимание, что вы ожидаете получить в конце. Могу сразу сказать, что вам потребуется понять, кто из вас каким направлением будет заниматься.
    Думаю Вам стоит посмотреть, как разрабатывается простейшее устройство (система), обычно разработка включает в себя:
    - создание ТЗ
    - создание эскизного проекта
    - разработка Э1 (создание структурной схемы устройства (системы))
    - разработка Э2 (создание функциональной схемы устройства (системы))
    - разработка принципиальной схемы и программ
    - предварительные испытания (используется прототип устройства (системы))
    - заключительные

    Для разработки нужно будет изучить следующие основные направления:
    - Работа с встраиваемыми решениями (МК, периферия, оборудование и т.п.)
    а. разработка Э1, Э2, подбор компонентов и создание Э3, выбор протоколов взаимодействия
    б. создание прототипа на отладочных платах
    в. разработка прошивки для МК
    г. тестирование
    - Работа с сервером и клиентом
    а. разработка структурной и функциональных схем
    б. разработка сервера и клиента (Использование готового решения / использование готового решения, но с изменениями учитывающих специфику вашего проекта / создание собственного решения)
    в. тестирование взаимодействия сервера и клиента
    - Сетевое взаимодействие
    - Интеграция встраиваемых решений в информационные системы (здесь в основном выбор протокола)

    Еще важным пунктом является конечный интерфейс и стабильность работы системы. Конечный клиент должен получить красивый и простой интерфейс управления.
    Ответ написан
    Комментировать
  • Лицензирование ПО на основе сертификата?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Можете посмотреть здесь
    Ответ написан
    Комментировать
  • Зачем разбивать код на функции, если код короткий (~30 строчек) и нет повторяющегося кода?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Если это один криво-корявый, но работающий проект, о котором вы забутите сразу после сдачи, то можете не париться. И если вы занимаетесь только созданием такого рода проектами, то можете не читать дальше и не тратить свое время.
    А вот если проект нужно будет поддерживать (по опыту могу сказать, что выполняет та или иная функция забывается уже через месяц) или над ним работают другие люди, или вы хотите уйти спокойно в отпуск, в котором вы не хотите что бы вас тревожили, то лучше конечно же писать так, чтобы в функции выполнялась одна операция или по крайней мере если их несколько, то это как-то должно отражаться в ее названии и конечно же она должна быть задокументирована (практически все IDE позволяют это делать без особого напряга).
    Хороший код легко читается и понимается, а самое главное на добавление (изменение, удалении) новой функции в нем тратится гораздо меньше времени, чем в криво-корявом коде.

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

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Думаю лучше начать с C#, там порог вхождения небольшой и проще разобраться с столпами ООП. Потом по мере изучения уже углубляться в с/с++. И еще рекомендую купить (взять в библиотеке) пару книг по C# и поучить теорию, по крайней мере в объеме начинающего программиста (типы данных, синтаксис и т.п.)
    Ответ написан
    Комментировать