Ich fange gerade mit F # an und kann die Syntax für die Objektinitialisierung wie in C # 3 nicht finden.
Dh gegeben dies:
public class Person {
public DateTime BirthDate { get; set; }
public string Name { get; set; }
}
Wie schreibe ich Folgendes in F #:
var p = new Person { Name = "John", BirthDate = DateTime.Now };
syntax
f#
object-initializers
Mauricio Scheffer
quelle
quelle
Die Antwort von CMS ist definitiv richtig. Hier ist nur eine Ergänzung, die ebenfalls hilfreich sein kann. In F # möchten Sie den Typ häufig nur mit unveränderlichen Eigenschaften schreiben. Bei Verwendung der Syntax "Objektinitialisierer" müssen die Eigenschaften veränderbar sein. Eine Alternative in F # ist die Verwendung benannter Argumente, die Ihnen eine ähnliche Syntax geben, aber die Dinge unveränderlich halten:
Jetzt können wir schreiben:
Für den Code müssen Sie den Namen angeben, aber Geburtstag ist ein optionales Argument mit einem Standardwert.
quelle
Sie können das
new
Schlüsselwort auch weglassen und eine weniger ausführliche Syntax verwenden:https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/members/constructors
quelle