The preferred way depends on your design.
Constructor properties are for items that your object requires in order to be correctly constructed. That is to say, any properties the object should have in order to be initialized need to be in the constructor (you don't usually want a partially intialized object after the constructor is called unless you're creating a factory or builder pattern and the constructor is hidden from all but the factory/builder).
Property intializers are best for additional configuration after a constructor that is required by your particular use case but is not required for the object to be considered initialised.
For example, you could have an object that represents a person. A person needs a name and an age to be initialised, but the address they live at is an optional configuration. So, the name and age are constructor parameters, and the address is a read/write property.
Person johnDoe = new Person("John Doe", 24) { Address = "42 Adams Street" };
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…