Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (6)

Наибольший вклад в теги

Все теги (96)

Лучшие ответы пользователя

Все ответы (358)
  • Есть ли в С# замена type паскаля?

    @Sumor
    Можно использовать такую конструкцию до объявления классов:
    using MyInt = System.Int32;
    Или, если класс не запечатанный(sealed), можно от него отнаследоваться:
    public class MyIntList : List<int>{}
    Ответ написан
    Комментировать
  • Зачем работать с базой ORACLE только через процедуры?

    @Sumor
    Если проект простой, то конечно удобнее из клиентского приложения вызывать SELECT, UPDATE и INSERT.
    Но как только проект становится достаточно большим, или накладываются дополнительные ограничения на безопасность, то удобнее вынести часть бизнес-логики на сервер. В данном случае - на хранимые процедуры.
    Плюсы следующие:
    1. Хранимые процедуры и клиентское приложения могут писать разные люди (команды), с разной подготовкой. Хранимые процедуры - боле опытные, клиентское приложение - более неопытные.
    2. Хранимые процедуры могут обеспечить дополнительный уровень безопасности. Часть проверочной логики может быть реализовано на сервере. И клиентское ПО даже изменив или подделав вызовы не получит не принадлежащие им данные. Если вся логика приложения реализована на клиенте, то злоумышленник может переписать запросы и получить не принадлежащие ему данные. Помимо этого от клиентского ПО скрывается структура БД.
    3. Хранимые процедуры, как неинтерактивные модули, проще отлаживать и тестировать в автоматическом режиме.
    4. Написанные хранимки меньше, чем клиентское ПО, подвержены изменениям в ходе эволюции и активно повторно используются в разных клиентских модулях.
    Ответ написан
    Комментировать
  • Как из MainForm.cs вынести DllImport в другой файл?

    @Sumor
    Ну во-первых, вы можете создать отдельный статический класс и там всё прописать.
    А во-вторых, если вы всё-таки хотите, чтобы внешние функции всё-таки были в классе MainForm, то не зря в объявлении класса указано слово partial. Оно говорит, что вы можете описывать класс в нескольких файлах. Для этого можно создать новый файл, начать его также: public partial class MainForm, и в него вынести внешние функции.
    Ответ написан
    1 комментарий
  • Нужно ли использовать структуры в C#?

    @Sumor
    Используйте классы, если вы не видите преимуществ использования структур в вашем коде.
    Не уверен, что использование структуры со строкой внутри в листе быстрее использования аналогичного класса. Особенно по сравнению со временем доступа к СУБД.
    Подробнее про структуры в MSDN
    Структуры можно использовать:
    1. Если у вас связь с неуправляемым кодом, где ожидается подобная структура.
    2. Если вам критично использование value-типов.
    При этом нужно не забывать об особенностях их использования, например, что при присваивании или передачи в функцию структура копируется. Наверняка можно написать пример, где из-за этого производительность работы с большой структурой будет ниже, чем с классом.
    Ответ написан
    Комментировать
  • Как добавлять значения в двухмерный массив?

    @Sumor
    Массивы, они на то и массивы, что в них нельзя добавлять значения.
    Используйте список массивов: List и добавляйте массивы через Add.
    Ответ написан
    1 комментарий