Тип Discriminated Unions (дискриминантное объединение), часто обозначаемое как Tagged Union (размеченное объединение), так же как и тип union (объединение), является множеством типов, перечисленных через прямую черту | . Значение, ограниченное дискриминантным объединением, может принадлежать только к одному типу из множества.Несмотря на то, что Discriminated Union в большей степени идентичен типу Union , все же существует два отличия.Первое отличие заключается в том, что типу Discriminated Union могут принадлежать только ссылочные типы данных.Второе отличие в том, что каждому объектному типу, также называемые варианты, составляющему Discriminated Union , указывается идентификатор варианта который называется дискриминант.Помните, что вывод типов, без помощи разработчика, способен работать лишь с общими для всех типов признаками?Рассмотрим пример: Читать далее