Где это делает код действительно более читаемым, пойдите для него. Где это делает его меньше читаемый, избегайте его - в частности, я предлагаю, чтобы Вы избежали вложенных операторов With.
C# 3.0 имеет эту функцию только объектной инициализации:
var x = new Whatever { PropertyA=true, PropertyB="Inactive" };
Это не только в значительной степени требуется для LINQ, но он также имеет смысл с точки зрения того, где синтаксис не указывает на запах кода. Я обычно нахожу, что, когда я выполняю много различных операций на объекте вне его начальной конструкции, те операции должны инкапсулироваться как единственная на самом объекте.
Одно примечание о Вашем примере - Вам действительно нужен "Я" вообще? Почему не просто запишите:
PropertyA = True
PropertyB = "Inactive"
? Конечно, "Меня" подразумевается в этом случае...
В нейронных сетях вы можете выбрать «интересные» потенциальные входные данные, найдя те, которые имеют самую сильную корреляцию, положительную или отрицательную, с классификациями, которые вы Тренируемся. Я полагаю, что вы можете сделать то же самое в других контекстах.
Думаю, я мог бы подойти к описываемой вами проблеме, введя более примитивные данные в алгоритм обучения. Например, состояние игры в тетрис может быть описано списком занятых ячеек. Строка битов, описывающая эту информацию, будет подходящим входом для этого этапа алгоритма обучения. на самом деле тренироваться в этом все еще сложно; как узнать, полезны ли эти результаты. Я предполагаю, что вы могли бы свернуть весь алгоритм в один blob, где алгоритм получает информацию о последовательных состояниях игры, а на выходе будет просто размещение блоков с более высокими алгоритмами, выбранными для будущих поколений.
Другой вариант может быть использовать большой корпус пьес из других источников; например, записанные игры людей или искусственный интеллект ручной работы, и выберите алгоритмы, которые