Невозможно преобразовать значение null в параметр типа «T1», поскольку это может быть тип значения. Вместо этого рассмотC#

Место общения программистов C#
Ответить
Anonymous
 Невозможно преобразовать значение null в параметр типа «T1», поскольку это может быть тип значения. Вместо этого рассмот

Сообщение Anonymous »

У меня действительно странная ошибка. Вот MRE:
var outputs = new (
(Typing First, Typing Second) a,
(Typing First, Typing Second) b,
(Typing First, Typing Second) c,
(Typing First, Typing Second) d,
(Typing First, Typing Second)? e,
(Typing First, Typing Second) f,
(Typing First, Typing Second)? g,
(Typing First, Typing Second)? h
)[2];

outputs[0] = (
(new Typing(), new Typing()),
(new Typing(), new Typing()),
(new Typing(), new Typing()),
(new Typing(), new Typing()),
(new Typing(), new Typing()),
(new Typing(), new Typing()),
(new Typing(), new Typing()),
(new Typing(), new Typing())
);

outputs[0].h = null; // Cannot convert null to type parameter 'T1' because it could be a value type. Consider using 'default(T)' instead.

class Typing
{
}

Вы можете спросить, почему этот MRE такой «не минимальный». Что ж, если я уменьшу кортеж (например, удалив f или g), у меня больше не будет ошибок.
Доказательство:
Доказательство: p>
Ошибка:
Изображение
Нет ошибки :
Изображение

Возможно, вам придется добавить это в свой csproj, чтобы увидеть ошибку:
enable
CS8600;CS8602;CS8603

Подробности:
JetBrains Rider 2024.3.3
Build #RD-243.22562.250, built on December 23, 2024
Licensed to **************************
Subscription is active until *******************
Runtime version: 21.0.5+8-b631.28 amd64 (JCEF 122.1.9)
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Toolkit: sun.awt.windows.WToolkit
Windows 11.0
.NET Core v8.0.4 x64 (Server GC)
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 4078M
Cores: 16
Registry:
ide.experimental.ui=true
i18n.locale=
llm.show.ai.promotion.window.on.start=false
Non-Bundled Plugins:
com.jetbrains.space (243.21565.122)
com.chesterccw.excelreader (2024.11.1-243)
me.lensvol.blackconnect (0.6.2)
com.github.copilot (1.5.30-242)
com.intellij.resharper.azure (4.3.8)


Подробнее здесь: https://stackoverflow.com/questions/793 ... e-type-con
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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