Ich schreibe ein Programm in C# mit Windows Forms. Ich erklärte myPoint als ein öffentliches Datenmitglied von myForm. Ich erklärte foo als eine private Methode von myForm(in der Tat ist es ein Click-Ereignis), innerhalb dieser Methode muss ich so etwas wie schreiben:Wie lösche ich den Wert einer Point-Struktur?
if (myPoint.IsEmpty)
myPoint = new Point(//position);
else
{
//operation involving myPoint
myPoint = null; //WHICH RETURNS THE ERROR
}
ich den Fehler: ‚Punkt‘ ist ein nicht Nullable Datentyp
Ich lese etwas Material über dynamische Speicherverwaltung, aber ich finde nichts über diesen Fall bisher zu finden. Das einzige, was mir einfällt, ist, die Point-Struktur durch eine benutzerdefinierte zu ersetzen, die nicht ideal ist. Irgendwelche Ideen?
'Point' ist eine Struktur, die ein Werttyp ist. Sie können Werttypen nicht auf null setzen –
Ich fand eine sehr klare Antwort hier: https://social.msdn.microsoft.com/Forums/vstudio/en-US/340786b7-730f-4f06-980f-84196c6e9533/ how-do-you-klar-a-struct-leer-a-struct-? forum = csharpgeneral – maja