Saya baru memulai dengan F # dan saya tidak dapat menemukan sintaks untuk melakukan inisialisasi objek seperti di C # 3.
Yaitu diberikan ini:
public class Person {
public DateTime BirthDate { get; set; }
public string Name { get; set; }
}
bagaimana cara menulis yang berikut di F #:
var p = new Person { Name = "John", BirthDate = DateTime.Now };
syntax
f#
object-initializers
Mauricio Scheffer
sumber
sumber
jawaban dari CMS pasti benar. Berikut ini hanya satu tambahan yang mungkin bisa membantu. Di F #, Anda sering ingin menulis tipe hanya menggunakan properti yang tidak dapat diubah. Saat menggunakan sintaks "object initializer", propertinya harus bisa berubah. Alternatif di F # adalah dengan menggunakan argumen bernama, yang memberi Anda sintaks yang serupa, tetapi menjaga semuanya tetap:
Sekarang kita bisa menulis:
Kode mengharuskan Anda untuk menentukan namanya, tetapi ulang tahun adalah argumen opsional dengan beberapa nilai default.
sumber
Anda juga dapat menghilangkan
new
kata kunci dan menggunakan sintaks yang lebih sedikit verbose:https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/members/constructors
sumber