Разбираемся с тем, как динамически создавать LINQ-выражения: https://proglib.io/w/0028c2c1
DEV Community
Filter Your Grids: How to Dynamically Build LINQ Expressions
LINQ stands for Language Integrated Query and is one of my favorite .NET and C# technologies. Using...
Что выведет программа?
Anonymous Quiz
25%
Ошибка компиляции
66%
10 + 15 = 25
3%
Нет правильного ответа
6%
Посмотреть результаты
Обратите внимание на то, что метод
Причина, по которой компилятор будет считать данный код синтаксически корректным, связана с тем, что потеря данных здесь невозможна. Поскольку максимальное значение (32767), которое может содержать тип
Sum()
ожидает поступления двух параметров типа int
. На самом деле ему передаются две переменных типа short
. Хотя это может показаться несоответствием типов, программа скомпилируется, выполнится без ошибок и вернёт в результате значение 25.Причина, по которой компилятор будет считать данный код синтаксически корректным, связана с тем, что потеря данных здесь невозможна. Поскольку максимальное значение (32767), которое может содержать тип
short
, вполне вписывается в рамки диапазона типа int
(максимальное значение которого составляет 2147483647), компилятор будет неявным образом расширять каждую переменную типа short до типа int
. Формально термин «расширение» применяется для обозначения неявного восходящего приведения (upward cast), которое не приводит к потере данных.Вы знаете, что Blazor WebAssembly 3.2.0 включает встроенную поддержку клиентских веб-сокетов (если не знали, то вот описание). Раньше, если вы хотели использовать веб-сокеты, вы должны были либо написать свою собственную оболочку, либо использовать большую библиотеку, такую как SignalR, которая сделала обертку за вас. Однако вы не сможете использовать обычный класс System.Net.WebSockets.ClientWebSocket, встроенный в .NET.
Реализация ClientWebSocket в конечном итоге просто оборачивает JS-взаимодействие для вас, что значительно упрощает ваш код и удаляет сторонние библиотеки из вашего проекта.
По ссылке вы увидите пример класса, который использует ClientWebSocket в клиенте чата Blazor, где все аккуратно упаковано в новую функцию IAsyncEnumerable C # 8: https://proglib.io/w/9c0889e8
Реализация ClientWebSocket в конечном итоге просто оборачивает JS-взаимодействие для вас, что значительно упрощает ваш код и удаляет сторонние библиотеки из вашего проекта.
По ссылке вы увидите пример класса, который использует ClientWebSocket в клиенте чата Blazor, где все аккуратно упаковано в новую функцию IAsyncEnumerable C # 8: https://proglib.io/w/9c0889e8
ASP.NET Blog
Blazor WebAssembly 3.2.0 Preview 1 release now available | ASP.NET Blog
Today we released a new preview update for Blazor WebAssembly with a bunch of great new features and improvements. Here’s what’s new in this release: Version updated to 3.2 Simplified startup Download size improvements Support for .NET SignalR client Get…
IoT, AI, and Blockchain for .NET.epub
12.9 MB
IoT, AI, and Blockchain for .NET
Building a Next-Generation Application from the Ground Up (2018)
Автор(ы): Nishith Pathak, Anurag Bhandari
С помощью книги вы узнаете, как возможности искусственного интеллекта (AI) и машинного обучения (ML) могут быть расширены с помощью Интернета вещей (IoT) и защищены с помощью Blockchain.
В книге рассматриваются современные и простые в использовании API-интерфейсы и сервисы от Microsoft, в том числе Azure IoT, API-интерфейсы Cognitive Services, Blockchain как услуга (BaaS) и Machine Learning Studio.
Работая с книгой, вы получите практический опыт создания решения для умного медицинского учреждения, использующего все эти технологии. Размещенное в Azure и подключенное к сети с помощью IoT Azure, решение включает в себя централизованный мониторинг пациентов, где блокчейн используется для создания системы безопасности и управления запасами на основе доверия, а машинное обучение применяется для создания прогнозных решений для проактивного улучшения качества жизни.
Building a Next-Generation Application from the Ground Up (2018)
Автор(ы): Nishith Pathak, Anurag Bhandari
С помощью книги вы узнаете, как возможности искусственного интеллекта (AI) и машинного обучения (ML) могут быть расширены с помощью Интернета вещей (IoT) и защищены с помощью Blockchain.
В книге рассматриваются современные и простые в использовании API-интерфейсы и сервисы от Microsoft, в том числе Azure IoT, API-интерфейсы Cognitive Services, Blockchain как услуга (BaaS) и Machine Learning Studio.
Работая с книгой, вы получите практический опыт создания решения для умного медицинского учреждения, использующего все эти технологии. Размещенное в Azure и подключенное к сети с помощью IoT Azure, решение включает в себя централизованный мониторинг пациентов, где блокчейн используется для создания системы безопасности и управления запасами на основе доверия, а машинное обучение применяется для создания прогнозных решений для проактивного улучшения качества жизни.
Текстовая расшифровка и видеозапись доклада Егора Гришечко с конференции DotNext 2019 Moscow, который будет интересен и полезен разработчикам микросервисных систем, а также бэкенд-разработчикам, интересующимся метриками и мониторингом.
https://proglib.io/w/182895ab
https://proglib.io/w/182895ab
Хабр
Распределенная трассировка запросов в .NET
В любой системе возникает задача понять, как взаимодействуют компоненты между собой. Особенно важно это в распределённых системах. Как понять, какие компоненты обработали запрос, сколько времени...
#вопросы_для_самопроверки
Для чего нужен оператор checked в C#?
Для чего нужен оператор checked в C#?
Оператор или ключевое слово checked используется для явного включения проверки переполнения при выполнении арифметических операций и преобразований с данными целого типа.
Если требуется указать, что выражение будет проверяться на переполнение, следует использовать ключевое слово checked, а если требуется проигнорировать переполнение — ключевое слово unchecked. В последнем случае результат усекается, чтобы не выйти за пределы диапазона представления чисел для целевого типа выражения.
У ключевого слова checked имеются две общие формы: в первой проверяется конкретное выражение (операторная), а во второй проверяется блок операторов (блочная). Пример использования ключевого слова checked:
где выражение обозначает проверяемое выражение. Если вычисление проверяемого выражения приводит к переполнению, то генерируется исключение OverflowException.
Ключевое слово unchecked также имеет две общие формы: в первой переполнение игнорируется при вычислении конкретного выражения (операторная), а во второй оно игнорируется при выполнении блока операторов (блочная). Пример:
где выражение обозначает конкретное выражение, при вычислении которого переполнение игнорируется. Если в непроверяемом выражении происходит переполнение, то результат его вычисления усекается.
Если требуется указать, что выражение будет проверяться на переполнение, следует использовать ключевое слово checked, а если требуется проигнорировать переполнение — ключевое слово unchecked. В последнем случае результат усекается, чтобы не выйти за пределы диапазона представления чисел для целевого типа выражения.
У ключевого слова checked имеются две общие формы: в первой проверяется конкретное выражение (операторная), а во второй проверяется блок операторов (блочная). Пример использования ключевого слова checked:
checked (выражение)
checked {
// проверяемые операторы
}
где выражение обозначает проверяемое выражение. Если вычисление проверяемого выражения приводит к переполнению, то генерируется исключение OverflowException.
Ключевое слово unchecked также имеет две общие формы: в первой переполнение игнорируется при вычислении конкретного выражения (операторная), а во второй оно игнорируется при выполнении блока операторов (блочная). Пример:
unchecked (выражение)
unchecked {
// операторы, для которых переполнение игнорируется
}
где выражение обозначает конкретное выражение, при вычислении которого переполнение игнорируется. Если в непроверяемом выражении происходит переполнение, то результат его вычисления усекается.
Автор статьи решил поэкспериментировать и написал среду выполнения .NET как приложение .NET, из чего получилась платформа Mobius Runtime — среда выполнения .NET, работающая на .NET Core.
https://proglib.io/w/f3ad9d57
https://proglib.io/w/f3ad9d57
Фильм Microsoft Build 2020: главные новинки IT-индустрии
Рассказ и видео о последних новинках от компании Microsoft. Суперкомпьютеры, безопасное машинное обучение, Learn TV, Fluid Framework и многое другое – будьте в курсе инноваций!
https://proglib.io/sh/RSsI59cBpz
Рассказ и видео о последних новинках от компании Microsoft. Суперкомпьютеры, безопасное машинное обучение, Learn TV, Fluid Framework и многое другое – будьте в курсе инноваций!
https://proglib.io/sh/RSsI59cBpz
В репозитории представлен шаблон чистой архитектуры для приложения, написанного с помощью Angular 9 и .NET Core 3.1. Его также отмечал в своём докладе («Clean Architecture with ASP.NET Core 3.0») Jason Taylor на GOTO Copenhagen 2019, в котором вы можете найти для себя что-то интересное: слайды и видео.
GitHub
GitHub - jasontaylordev/CleanArchitecture: Clean Architecture Solution Template for ASP.NET Core
Clean Architecture Solution Template for ASP.NET Core - jasontaylordev/CleanArchitecture
Члены класса, определенные с этими модификаторами, могут быть доступны только в текущем классе или в классах-наследниках. Но если модификатор protected гарантирует доступ для любого класса-наследника вне зависимости от того, в каком прокте (сборке) он расположен, то модификатор private protected (доступен с версии C# 7.2) делает члены класса доступными только для классов-наследников, которые размещены в том же проекте (сборке), где определен исходный класс.
Автор статьи с 2001 года использует .NET в своих проектах. Несмотря на то, что за это время он разносторонне развивался в разработке на JavaScript и TypeScript, он постоянно продолжает возвращаться к .NET, и вот почему: https://proglib.io/w/a44df704
DEV Community
A Love Letter to .NET
With Microsoft's official release of .NET Core 3 today, I want to give you my perspective on .NET and...
Разбираем пример создания и оптимизация маппера объектов в C#: https://proglib.io/w/3e614df6
Twilio Blog
Building a Blazing Fast Object Mapper with C# .NET Core 3.1
Computer programming tutorial demonstrating multiple ways of building an object-to-object mapper in C# with .NET Core 3.1, including performance metrics and analysis. Also shows how to implement the AutoMapper library.
🙇Любите пораскинуть мозгами? 20 и 21 июня образовательный портал GeekBrains проведет онлайн-конкурс по математике и информатике. Решите задачи, войдите в десятку лучших и выиграйте бесплатное обучение IT-профессиям на выбор: веб-программированию, системному администрированию, разработке игр и др.
👨🏫 Участвуют все желающие, достаточно школьных знаний. А задания с выбором ответа и без.
🙋♂️ Выглядит жизненно: как будто сдаёшь ЕГЭ, чтобы поступить в онлайн-университет. Все подробности здесь: https://proglib.io/w/f733213b
👨🏫 Участвуют все желающие, достаточно школьных знаний. А задания с выбором ответа и без.
🙋♂️ Выглядит жизненно: как будто сдаёшь ЕГЭ, чтобы поступить в онлайн-университет. Все подробности здесь: https://proglib.io/w/f733213b
Что выведет программа?
Anonymous Quiz
56%
Bob
22%
Tom
14%
Ошибка компиляции
2%
Нет правильного ответа
7%
Посмотреть результаты