Публикации по теме 'dotnet'


Ценностные объекты и как их ценить
Объект значения - это шаблон проектирования, в котором объект создается для представления чего-то простого, например валюты или даты. Объект значения должен быть равен другому объекту значения, если оба объекта имеют одинаковое значение, несмотря на то, что они являются двумя разными объектами. В этой статье я расскажу, почему я считаю объекты значений полезными, и обсудю различные компромиссы при разработке объектов значений. Я буду делать примеры на C #, но эти примеры должны..

Целевые платформы C# | x64 против x86 против AnyCPU
При программировании на C# обычно не нужно беспокоиться о базовой целевой платформе. Однако есть несколько случаев, когда архитектура приложения и ОС может повлиять на логику программы, изменить функциональность и вызвать непредвиденные исключения. В этой статье мы рассмотрим, как .NET обрабатывает системы x64 и x86, и предоставим несколько примеров C#, чтобы помочь. Сборник В отличие от двоичного кода Native C или C++, созданного для определенной архитектуры, приложение .NET..

Почему бы не украсить свой код?
Аннотации функционального кода экономят время и обеспечивают неожиданную ценность Моя команда всегда ищет способы писать меньше кода. Я часто слышал известное замечание о написании длинных и коротких писем, которое звучит примерно так: «Пожалуйста, простите за длину этого письма; У меня не было времени написать более короткий». Я поражен, обнаружив, насколько популярна эта цитата и насколько сложной стала ее история . Сначала я услышал это как цитату Марка Твена; но я отвлекся,..

Нетрадиционный способ исследования исключения NullReferenceException
Авария Это началось с попытки понять, почему интеграционный тест не удался, только в Linux с ARM64. Поскольку у меня не было доступной среды разработки ARM64, я сначала попытался добавить все больше и больше трассировок и запустить тест в CI, но без особого успеха. В конце концов я понял, что это ни к чему не ведет, и нашел время, чтобы настроить виртуальную машину ARM64 для дальнейшего исследования. После запуска теста с LLDB (см. Мою предыдущую статью , чтобы узнать, как..

Процесс сборки библиотеки C#
Настроить автоматические модульные тесты для вашего проекта сложно, но полезно Продолжая мою последнюю статью о создании библиотеки C# для обработки CSV , следующая большая проблема — выяснить, как упростить ее разработку. Если мне сложно писать код, я не буду этого делать, поэтому мне нужно заранее потратить время, чтобы упростить поддержку и расширение библиотеки. Если использовать одну из моих любимых цитат, мне нужно починить камешки в ботинке . И, как я обнаружил, создание..

Интерфейс С#
Интерфейс содержит только сигнатуры методов , свойств , событий или индексаторов . Класс, реализующий интерфейс, должен реализовывать члены интерфейса. Члены интерфейса определяются так же, как и члены класса, за исключением нескольких важных отличий: — модификаторы доступа (открытые, частные, защищенные или внутренние) не допускаются — все члены интерфейса неявно общедоступны. — Члены интерфейса не могут содержать тела кода. — Интерфейсы не могут определять члены полей. — Члены..

Создание консольного приложения .NET Core 3.0 F#
Создание консольного приложения .NET Core 3.0 F# Это первая часть новой серии руководств по созданию генетического алгоритма в F# и .NET Core 3.0. Этот учебник посвящен созданию нового консольного приложения и изучению некоторых основ F#. К концу этого урока вы должны уметь: Понимание основ F# Создайте новую библиотеку классов F#. Создайте новое консольное приложение F# и свяжите его с библиотекой классов. Закодируйте базовый цикл ввода консоли Кодируйте простые функции и..