Почему в C# null не превратился в литерал с полной целевой типизацией, такой как default или []? [дубликат]C#

Место общения программистов C#
Anonymous
Почему в C# null не превратился в литерал с полной целевой типизацией, такой как default или []? [дубликат]

Сообщение Anonymous »

Есть ли какая-то странная вещь, которую мне не хватает в языке C# или способе выполнения компилятором Roslyn вещей, о которых я не знаю?
Вот такие:

Код: Выделить всё

public void Should_Fail_When_UserIsInactive()
{
var data = ((Guid?)null, false);
_mockClient.MockResponse(data);

Should.Throw(async () =>
await _deptoValidator.ValidateUsersFromDeptoAsync(_deptoGuid, , CancellationToken.None));
}
или

Код: Выделить всё

var hrDeptos = deptos?.Where(tc => tc.IsHRDepto).ToList() ?? [];

var guid = hrDeptos.Count == 1
? hrDeptos[0].deptoGuid
: (Guid?)null;
И, честно говоря, я не понимаю, зачем приводить значение null, поскольку null — это... null

Вернуться в «C#»