Ответы пользователя по тегу C#
  • Как объединить и разъединить byte[]?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Согласен с Александр Зайцев, однозначно сериализация. ниже пример, честно с.изженный отсюда
    using System;
    using System.Runtime.Serialization.Formatters.Binary;
    using System.IO; 
     
    namespace Serialization
    {
        [Serializable]
        class MSG
        {
            public int type;
            public string message;
            
            public MSG(int i, string s)
            {
                type = i;
                message = s;
            }
        }
        
        class Program
        {
            public static byte[] Serialization (MSG obj)
            {
                BinaryFormatter formatter = new BinaryFormatter();          
                MemoryStream stream = new MemoryStream();           
                formatter.Serialize(stream, obj);           
                byte[] msg = stream.ToArray();
                return msg;
            }
            
            public static MSG DeSerialization (byte[] serializedAsBytes)
            {
                MemoryStream stream = new MemoryStream();           
                BinaryFormatter formatter = new BinaryFormatter();          
                stream.Write(serializedAsBytes, 0, serializedAsBytes.Length);           
                stream.Seek(0, SeekOrigin.Begin);           
                return (MSG)formatter.Deserialize(stream); 
            }
            
            public static void Main(string[] args)
            {
                MSG msg = new MSG(1,"Я не сериализован");
                byte[] buf = new byte[1024];
                
                buf = Serialization(msg);
                
                Console.WriteLine("До сериализации  " + buf);
                
                MSG msg1 = new MSG(2,"Текст");
                msg1 = DeSerialization (buf);
                Console.WriteLine("После сериализации  " + msg1.message);
                
                Console.Write("Press any key to continue . . . ");
                Console.ReadKey(true);
            }
        }
    }
    Ответ написан
    2 комментария
  • Antifreeze для windows forms?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Вам стоит почитать про BackgroundWorker, думаю это как раз то что вам нужно
    Ответ написан
    2 комментария
  • Отправка Biginteger чисел через UDP?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    imihajlov + ко всему что советовали использовать бинарную сериализацию, на ней уже проверки реализованы
    Ответ написан
    Комментировать
  • Есть ли готовая библиотека загрузчика для C#?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Не то чтобы прям совсем готовая, но есть самопальный доунлоадер, можно его раздербанить на нужные куски, там все что нужно для функций докачки есть + многопоточная загрузка реализована, исходники можно скачать тут писалась как конкурент download master, но как оказалось быстрее она не качает, точно такая же скорость.
    Ответ написан
  • Как центрировать изображение в PictureBox?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    У PictureBox много разных свойств, одно из них SizeMode, если установить его в Zoom+Margins[30]+Dock.Fill будет вам счастье
    Ответ написан
    Комментировать
  • Как отключить светодиод веб камеры MOTION EYE?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    вкратце программно никак. Требование светить глазом зашито в требованиях к разработке самих камер. В лучшем случае светодиод включается программно (не в случае с стандартными дровами), в худшем аппаратно.
    Ответ написан
    Комментировать
  • Асинхронность в цикле C#?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    самый простой способ использовать parallel for each, но есть минусы, к примеру во время обработки изменять коллекцию нежелательно.
    способ получше это построение очереди, то есть выдергивать объекты из списка и кидать в другой список, и уже на другой список вешать обработчики, по 1 на каждый элемент списка. По мере исполнения каждого обработчика переписывать элемент на 1 из общей кучи.
    Первый способ простой, нужно заменить пару строк, второй способ лучше, но сложней. По нему делают все нормальные серверы обработки.
    Ответ написан
  • Как писать высоко нагруженные приложения web api?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Советую почитать про микросервисную архитектуру, для высоконагруженных систем самое оно. Насчет инструментов все напрямую зависит от задач, которые перед ней будут ставиться. Про базу аналогично, все зависит от типа используемой БД (SQL\NoSQL) и ее архитектуры.
    Ответ написан
    2 комментария
  • Как выдернуть фрагмент текста из файла?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    не уверен насчет того насколько большой фрагмент между плюсами, но решение такое:
    читаем построчно, если втречаем "открывающие" плюсы начинаем писать в память каждую строку и смотреть есть ли вхождение подстроки, если есть "запоминаем" мол вхождение было (bool), идем дальше, как только встретили "закрывающие" плюсы смотрим, было ли вхождение, если было возвращаем запомненный фрагмент текста (который начали сохранять при появлении открывающих) и если вхождения не было то очищаем все что запоминали и идем искать открывающие дальше. Таким образом чтение файла идет в 1 проход, то есть ровно столько сколько нужно чтобы решить поставленную задачу. Скорость будет ограничиваться только скоростью диска, ибо весь перечисленный алгоритм крайне мало ресурсов ЦП потребляет.
    Ответ написан
    Комментировать
  • Как реализовать веб-сервис двухфакторной аутентификации?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    как уже сказал Deerenaros нужно принять запрос на авторизацию от веб приложения на свой сервис, далее уже сервис выполняет проверки (какие у вас там будут) и если считает что все ок отправляет ответ веб приложению, которое отправляло запрос.
    Ответ написан
    Комментировать
  • Данные из Active Directory. Какова структура данных?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Тут можно посмотреть рабочий пример, структуру можно посмотреть в объекте sResultSet.
    хотя не уверен чего вы хотели добиться, структура вообще то иерархическая, поэтому приведенный вами код по идее не поможет.
    Ответ написан
  • Как парсить информацию о mp3 файле?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Вопрос легко гуглится по "C# Read Mp3 Tags"
    В двух словах 3 варианта решения:
    1. Взять готовую библиотеку (в nuget или так найти) и скормить ей файл
    2. Взять готовый исходник класса и подключить к проекту и скормить ему файл
    3. Убить время на разбор структуры и формата файла, потратить еще кучу времени и написать свой велосипед
    Какой вариант выбрать дело ваше:)
    Ответ написан
    1 комментарий
  • Как из приложения c# добавить в head html script jquery?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Возможно загружать нужно чуть раньше чем "DocumentCompleted", ибо к тому моменту когда он происходит вероятно крашатся другие скрипты, которым jquery нужен был, но это чисто догадки, ибо не зная зачем такое понадобилось ответить трудно. Как вариант можно грузить сорцы страницы, инжектить в нужном месте импорт скрипта и отображать уже "модифицированные" сорцы.
    Ответ написан
    2 комментария
  • Контрольная сумма байтов 16 бит С#?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Если я правильно понял вам нужно "меньше цифр в сумме", в таком случа вот тот же алгоритм что у вас, только с меньшим числом разрядов (2)
    Ответ написан
    Комментировать
  • C# Как сделать, чтобы при открытии видео в интернете на весь экран, оно открывалось но всю форму?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Для коня в вакууме можно разве что найти галку на запрещение "fullscreen" при условии что она есть в вашем компаненте
    Ответ написан
    Комментировать
  • Как через DragDrop передать объект по ссылке?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Передать "объект" из одного приложения в другое нельзя, ибо память у каждого своя и нельзя просто так "отдать" другому процессу кусок своей памяти "на попользоваться". В вашем случае я вижу решение только через сериализацию. Не вижу проблем сериализовать инициализированый объект, обычно именно такие объекты и сериализуют. Не ясно также что это за объект перетаскивается, возможно достаточно передать его "параметры" а на другом процессе просто создать его снова.
    Ответ написан
    4 комментария
  • Сетевая часть Unity3D, переход на другую ОС?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Учитывая характер вашей разработки Azure BizSpark как раз ваш случай, минимум вам дадут 5000-6000 руб. в месяц "услугами" облачных сервисов (VDS и др) бесплатно в течении нескольких лет, как раз на то время, сколько вам потребуется для доведения проекта до релиза и получения достаточной прибыли, чтобы не волноваться на счет "этих копеек на сервер".
    Ответ написан
    Комментировать
  • Unity3D и сетевая игра?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Про сеть уже написали, там с этим проблем нет. Хостинг можно поднять на azure к примеру или в любом другом облаке. Azure "для стартапа" предоставляет услуги бесплатно, нужно только анкету заполнить.
    Ответ написан
    Комментировать
  • Как правильно распараллелить?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    в своей программе в аналогичном коде (считывание с диска, подсчет кэшей блоков считанного) пользовался обычным parallel foreach, под капотом там если мне не изменяет как раз threadpool, ибо это эффективней чем постоянно создавать потоки вручную. В таком раскладе как у меня тормозит именно диск, скорость работы кода ограничивается скоростью работы диска, в моем случае под 100мб в сек. шло легко.
    Ответ написан
    2 комментария
  • C# Как развернуть все формы программы?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    перед открыванием форм сохранить о них информацию в какой ни будь список, когда нужно будет пробежаться по нему и развернуть все формы.
    Ответ написан
    Комментировать