Assume we have following code :
struct Article
{
public string Prop1 { get; set; }
}
Article? art = new Article();
art?.Prop1 = \"Hi\"; // compile-error
This code:
Article? art
will define a Nullable but later when you do:
art?.Prop1 = "Hi";
This will mean using Null propagation/conditional operator.
Null propagation/conditional operator is for accessing properties, not setting them. Hence you can't use it.
As @Servy said in the comments, the result of Null conditional operator is always a value and you can't assign a value to a value, hence the error.
If you are only trying to set the property then you don't need ? with the object name, ? with Nullable types is used at the time of declaration, which is syntactic sugar to:
Nullable art; //same as Article? art