Задать вопрос
  • Как методу IndexOf (из фреймворка .NET), объяснить, что внутри скобок метода, между некоторыми HTML-тегами может располагаться любой текст?

    @dmitryKovalskiy
    программист средней руки
    IndexOf никаким боком не подходит для решения вашей задачи. Для этого есть регулярные выражения и инструменты парсинга HTML. Например HtmlAgilityPack
    Ответ написан
    Комментировать
  • Какая разница между interface в С# и чисто виртуальными функциями в класах С++?

    Nipheris
    @Nipheris Куратор тега C++
    Одно и то же, чисто абстрактные классы в C++ это способ получить функциональность, аналогичную понятию "интерфейс" в тех языках, где оно есть (C#, Java, etc.).
    Благодаря множественному наследованию в C++ среди базовых классов могут быть как классы с реальным поведением (т.е. с реализациями каких-либо методов), так и классы-"интерфейсы", т.е. классы только с pure-virtual функциями-членами.
    Ответ написан
    Комментировать
  • Удаленная БД, как лучше реализовать?

    @nirvimel
    Это называется репликация.
    Ответ написан
    Комментировать
  • Актуальны ли старые книги по Си?

    akarin
    @akarin
    Смотря какая.
    Язык программирования СИ Кернигана и Ритчи(1978) классика.
    Ответ написан
    2 комментария
  • Нужна хорошая книга по C# - Win Forms?

    newross
    @newross
    Product owner
    Лучше сразу WPF изучать вместе с MVVM. Книги - Троелсон для разминки, дальше "WPF: Windows Presentation Foundation в .NET 4.5 с примерами на C# 5.0 для профессионалов". Курсов тьма на Pluralsight.
    Ответ написан
    Комментировать
  • Тестовое задание на C# с базами данных и графиками?

    Nipheris
    @Nipheris Куратор тега C#
    Я часто советую взять что-нибудь из реальной жизни и автоматизировать. Я вот, к примеру, так и не нашел для себя удобной домашней бухгалтерии - чтобы вбивать чеки за день максимально быстро (с автодополнениями всякими), и считать простейшую статистику - набросал за пару вечеров сам. То же и вам советую - может вы любите что-то, спорт, или игры какие - нескончаемый источник статистики, графиков, и данных. Поставил личный рекорд стометровки - открыл прогу, забил инфу.
    Если любите книги - то можете потренироваться в автоматизации личной библиотеки.
    Ответ написан
    Комментировать
  • Использовать ли UserControl в WPF MVVM?

    @Hydro
    C#/.NET Developer
    У вас в корне неправильный подход.
    Давайте по порядку.
    Сначала почитайте про DataContext в WPF, потом про сам MVVM (тщательнее, чем до этого).
    По структуре данных: одна таблица - это один тип аггрегации, соответственно другая таблица - другой тип аггрегации, поясню напримере:
    есть таблица продукты (Id, Код продукта) и есть таблица заказчики (Id, Имя, Код заказанного продукта), для таблицы продукты, необходимо создать класс Product
    class Product : INotifyPropertyChanged
    {
      public int Id {get;set;}
      public int Code {get;set;}
      // + реализация INPC
    }

    По INotifyPropertyChanged погуглите что это.
    Затем для таблицы заказчики создать класс Consumer
    class Consumer
    {
      public int Id {get;set;}
      public string Name {get;set;}
      public IEnumerable<Product> Orders {get;set;}
    }

    Данные выбираются из БД и для каждой таблицы должен создаваться экземпляр соответствующего ей класса.

    Теперь по отображению и CRUD:
    Создаете класс с контекстом

    class MyShopViewModel : INotifyPropertyChanged
    {
     // Выбранный элемент, для которого будем отображать модальное окно
      public object SelectedItem {get;set;}
    }


    Где то в коде, где открывается модальное окно, например в методе ShowObjectEditor делаете:
    public void ShowObjectEditor()
    {
      // создаем окно с редактором объекта БД
      var objectEditor = new ObjectEditorView();
      // Устанавливаем ему DataContext, Где myShopViewModel - Объект класса MyShopViewModel
      objectEditor.DataContext = myShopViewModel;
      // показываем окно
      objectEditor.Show();
    }

    В разметке ObjectEditorView
    <Window>
      <ContentPresenter Content="{Binding SelectedItem}"/>
    </Window>

    Но ContentPresenter не знает как его показывать, вот тут и открывается ответ на Ваш вопрос: для каждого типа данных пишете DataTemplate в ресурсах окна, у меня есть два типа - продукты и заказчики, и разметка приобретает вид
    <Window>
      <Window.Resources>
        <ResourceDictionary>
         <DataTemplate TargetType={x:Type Product}>
          // вот тут и описываем чекбоксы и прочую хрен.
         </DataTemplate>
         <DataTemplate TargetType={x:Type Consumer}>
          // вот тут и описываем чекбоксы и прочую хрен.
         </DataTemplate>
        <.ResourceDictionary>
      <.Window.Resources>
      <ContentPresenter Content="{Binding SelectedItem}"/>
    </Window>

    Теперь для каждого типа данных автоматом подтянется своя разметка и располагаться это будет в одном окне.
    Что не понятно - спросите в комментариях.
    Ответ написан
    4 комментария
  • System.Object -> System.ValueType (знаковый - на стеке) - как это?

    Nipheris
    @Nipheris Куратор тега C#
    System.Object является базовым для System.ValueType потому, что C# скрывает от вам процесс boxing-а значений value-типов в ссылочные обертки.
    Где выделяется память для ссылочных типов и типов-значений спецификацией не оговаривается (в текущих реализациях типы-значения иногда (!) выделяются на стеке, но могут быть и на куче, если являются членами ссылочных типов (массивы, другие классы, и т.д.). Для вас важно лишь знать логику поведения: как присваиваются и передаются в функции значения reference и value-типов, остальное - детали реализации.

    Довольно важная для понимая статья: blogs.msdn.com/b/ericlippert/archive/2010/09/30/th...
    Ответ написан
    2 комментария
  • Почему так популярен .NET/C#/ASP MVC?

    @PokimonFromGamedev
    Ведущий разработчик Kotlin
    Почему так много вакансий с .NET/C#/ASP MVC?

    Хорошая платформа, ничем не уступающая остальным.

    IIS как application server неплохо справляется.
    Windows как сервер работает не хуже Linux.

    Микрософт активно развивает платформу и сервисы. Значит в будущем будет еще больше вакансий и проектов!

    Ну и C# как язык сейчас наверное топ1.
    Тут тебе и LINQ и деревья выражений и асинхронное программирование и динамическая типизация. А сейчас еще компилятор перепишут и вообще будет хорошо.
    Ответ написан
    Комментировать
  • Что означает эта запись в C++?

    Denormalization
    @Denormalization
    SYNC_DATA, USERID - пользовательские типы, объявленные, например, через typedef.
    Ответ написан
    1 комментарий
  • Где найти видео уроки, статьи и примеры работы с Microsoft Azure Mobile App Service?

    @PolkovnikBrumel
    Попробуйте на www.microsoftvirtualacademy.com/Studies/SearchResu.... Не уверен, что там есть именно то, что вам надо, но там много чего.
    Ответ написан
    Комментировать
  • Есть ли более красивое решение для реализации такой системы?

    Nipheris
    @Nipheris Куратор тега C#
    Если планируется использовать дотнет (как для "процессов", так и для сайта), то имеет смысл использовать преимущества платформы. Я бы поступил следующим образом:
    - на ASP.NET реализовать логику сайта + бизнес-логику; здесь же - постановку "заказов" в очередь контроллера;
    - отдельный процесс операционной системы - контроллер (хост) для выполняющихся "процессов"; каждый такой контроллер (их может быть несколько) загружает в отдельный домены приложения (application domain) сборку/сборки с кодом "процесса", настраивая ему права доступа к окружающей системе (песочницу); т.о., при постановки задачи в очередь конкретному контроллеру (выбирать можно рандомно или по загруженности), последний, при готовности, создает домен приложения, грузит в него нужную сборку-плагин, и запускает код на выполнение с нужными параметрами.
    - код "процессов" оформлять в виде дотнетовских сборок; оформить интерфейс, который будет реализован каждой сборкой;
    - прогресс можно конечно писать в БД, но можно и не писать: правильно работающий контроллер может и сам докладывать о состоянии выполнения наиболее актуальные сведения; в тот же интерфейс, через который контроллеру отдаются в очередь задачи, можно добавить и возможность запроса состояния выполнения; на клиенте брать по ajax, только конечно не в цикле, а по таймеру.
    - в базу можно и нужно писать время старта/завершения задачи, результат (успех/ошибка) и т.д.;

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

    artem_b89
    @artem_b89
    Сетевой бездельник
    Чтобы не городить велосипед, могу предложить использовать WCF
    Ответ написан
    1 комментарий
  • Как составить SQL - запрос, правильно на объявление данных в базе *dbf?

    @iloer
    ну во первых
    dmContanierIcon.quAdmissionProduct.SQL.Text := 'UPDATE dbt_AdmissionProduct SET p_id = '+IntToStr(varFirstRecId)+' WHERE p_product = "'+varArticleUpdateId+'"';

    было бы корректнее записать как:
    dmContanierIcon.quAdmissionProduct.SQL.Text := UPDATE dbt_AdmissionProduct SET p_id = :varFirstRecId WHERE p_product = :varArticleUpdateId;
    dmContanierIcon.quAdmissionProduct.ParamByName('varFirstRecId').AsInteger := varFirstRecId;
    dmContanierIcon.quAdmissionProduct.ParamByName('varArticleUpdateId').AsString := varArticleUpdateId;
    dmContanierIcon.quAdmissionProduct.ExecSQL;


    а по поводу ошибки, то зачем вам после Update делать Next? метод ExecSQL не возвращает Dataset. об этом Delphi вам и сообщает.
    Ответ написан
    2 комментария
  • Windows Service или Application?

    @Sumor
    Пишите консольное приложение и запускаете через AT или планировщик заданий по графику.
    Если приспичит можно консольку оформить в виде сервиса с помощью SrvAny.exe или переписать как службу.
    Ответ написан
    Комментировать
  • Увеличит ли асинхронный метод быстродействие сериализации / десериализации с файлом не больше 200 строчек?

    dordzhiev
    @dordzhiev
    Хочу сказать только одно: асинхронность != параллелизм. Дальше гуглите :)
    Ответ написан
    Комментировать
  • Увеличит ли асинхронный метод быстродействие сериализации / десериализации с файлом не больше 200 строчек?

    wkololo_4ever
    @wkololo_4ever
    Если вы просто собираетесь обернуть эту строку в async await, то, естественно, это никак не повлияет на быстродействие сериализации / десериализации.
    Ответ написан
    Комментировать
  • Как сгладить все объекты на форме(winforms)?

    TechCloud
    @TechCloud Автор вопроса
    1 + 1 = 3
    Нашёл как исправить проблему(может кому-нибудь понадобится).
    Нужно просто оптимизировать под высокое значение DPI.
    В Program.cs пишем:
    [STAThread]
        static void Main() {
            if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new MyForm());             //редактируем как нужно
        }
    
        [System.Runtime.InteropServices.DllImport("user32.dll")]
        private static extern bool SetProcessDPIAware();
    Ответ написан
    Комментировать
  • Caliburn framework для WPF, а как насчет производительности?

    @neoxack
    Caliburn.Micro гарантированно не вносит сильной просадки производительности, а удобств дает массу. Используется мною в разработке для windows phone 8.1.
    Ответ написан
    Комментировать