Pull to refresh
  • by relevance
  • by date
  • by rating

Что нового появилось в C# 7 и уже поддерживается в Visual Studio “15” Preview 4

Programming *.NET *C# *Functional Programming *Development for Windows *
Translation
С релизом Visual Studio “15” Preview 4 многие новые фичи C# 7 можно попробовать самому. Основные новшества C# 7 призваны облегчить работу с данными, упростить код и улучшить производительность. От себя скажу, что C# движется в сторону функционального языка, добавляя такие вещи, как кортежи и сопоставления с шаблоном (pattern matching). Не все из новой функциональности работает так, как задумано, в Preview 4, в этих случаях будет указано, что именно вы можете пока использовать и как это будет работать в будущем. Что ж, приступим.
Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views 65K
Comments 69

Баг в Visual Studio 2017 RC при использовании новых возможностей C# 7

.NET *Visual Studio *C# *
Многие из вас, те кто из мира .NET, наверное уже в курсе, что не так давно (месяц назад) Microsoft выпустила Visual Studio 2017 RC, в комплекте с которой разумеется идет C# 7. Что называется на суд энтузиастов. Изучая возможности новой версии, у меня внезапно упала Visual Studio. Каким образом — читайте под катом.
Читать дальше →
Total votes 20: ↑8 and ↓12 -4
Views 18K
Comments 19

Топ-10 ключевых анонсов от Microsoft в 2016 году

Microsoft corporate blog Open source *Data Mining *Machine learning *Development for AR and VR *
Традиционно провожаем уходящий 2016 год подборкой ключевых анонсов от корпорации Microsoft. Под катом мы собрали десять самых ярких и запоминающихся новостей.


Читать дальше →
Total votes 31: ↑28 and ↓3 +25
Views 14K
Comments 15

Истинная реализация нейросети с нуля на языке программирования C#

C# *ООP *Machine learning *
Recovery mode
Sandbox
Tutorial

image


Здравствуй, Хабр! Данная статья предназначена для тех, кто приблизительно шарит в математических принципах работы нейронных сетей и в их сути вообще, поэтому советую ознакомиться с этим перед прочтением. Хоть как-то понять, что происходит можно сначала здесь, потом тут.


Недавно мне пришлось сделать нейросеть для распознавания рукописных цифр(сегодня будет не совсем её код) в рамках школьного проекта, и, естественно, я начал разбираться в этой теме. Посмотрев приблизительно достаточно об этом в интернете, я понял чуть более, чем ничего. Но неожиданно(как это обычно бывает) получилось наткнуться на книгу Саймона Хайкина(не знаю почему раньше не загуглил). И тогда началось потное вкуривание матчасти нейросетей, состоящее из одного матана.

Читать дальше →
Total votes 36: ↑28 and ↓8 +20
Views 115K
Comments 28

Исследование кортежей в C# 7

.NET *C# *
Translation
Типы System.Tuple были введены в .NET 4.0 с двумя существенными недостатками:

  1. Типы кортежей являются классами;
  2. Не существует языковой поддержки для их создания/деконструкции (deconstruction).

Чтобы решить эти проблемы, в C# 7 представлена новая возможность языка, а также новое семейство типов (*).

Сегодня, если вам нужно склеить два значения, чтобы вернуть их из функции или поместить два значения в хэш-набор, вы можете использовать типы System.ValueTuple и создать их с помощью удобного синтаксиса:
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Views 39K
Comments 14

Анализируем локальные функции в C# 7

.NET *C# *
Translation
Добавление локальных функций в языке C# первоначально для меня было излишним. Прочитав статью в блоге SergeyT, я понял, что эта фича действительна нужна. Итак, кто сомневается в надобности локальных функций и кто еще не знает что это, вперед за знаниями!

Локальные функции — это новая возможность в C# 7, которая позволяет определять функцию внутри другой функции.
Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Views 28K
Comments 19

Исследуем сопоставление с образцом в C# 7

.NET *C# *
Translation
В C# 7 наконец появилась долгожданная возможность под названием «сопоставление с образцом» (pattern matching). Если вы знакомы с функциональными языками, такими как F#, вы можете быть немного разочарованы этой возможностью в ее текущем виде, но даже сегодня она может упростить ваш код в самых разных сценариях.

Каждая новая возможность чревата опасностью для разработчика, работающего в критическом для производительности приложении. Новые уровни абстракций хороши, но для того, чтобы эффективно использовать их, вы должны знать, что происходит под капотом. Сегодня мы собираемся изучить внутренности сопоставления с образцом, чтобы понять, как это реализовано.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views 16K
Comments 0

Throw выражения в C# 7

.NET *C# *
Всем привет. Продолжаем исследовать новые возможности C# 7. Уже были рассмотрены такие темы как: сопоставление с образцом, локальные функции, кортежи. Сегодня поговорим про Throw.

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

  • в операторе Null-Coalescing (??)
  • в лямбда выражении
  • в условном операторе (?:)
  • в теле выражений (expression-bodied)

Чтобы исправить данные проблемы, C# 7 вводит выражения throw. Синтаксис остался таким же, как всегда использовался для операторов throw. Единственное различие заключается в том, что теперь их можно использовать в большом количестве случаев.
Давайте рассмотрим, в каких местах throw выражения будет лучше использовать. Поехали!
Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Views 21K
Comments 22

Исследуем минорные возможности C# 7

.NET *C# *
C# 7 добавляет ряд новых возможностей и фокусирует внимание на потреблении данных, упрощении кода и производительности. Самые большие фичи были уже рассмотрены — кортежи, локальные функции, сопоставление с образцом и throw выражения. Но есть и другие новые возможности, как большие, так и малые. Все они сочетаются, чтобы сделать код более эффективным и понятным, чтобы все были счастливы и продуктивны.

Давайте рассмотрим и остальные возможности новой версии C#. Итак! Начнем!
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 14K
Comments 11