mejor manera de crear objeto

Esto parece ser una pregunta muy estúpida y rudimentaria, pero traté de buscarla en Google, pero no pude encontrar una respuesta satisfactoria.

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public Person(){}
    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
    //Other properties, methods, events...
}

Mi pregunta es si tengo una clase como esta, ¿cuál es la mejor manera de crear un objeto?

Person p=new Person("abc",15)

O

Person p=new Person();
p.Name="abc";
p.Age=15;

¿Cuál es la diferencia entre estos dos métodos y cuál es la mejor manera de crear objetos?

Respuestas a la pregunta(7)

Su respuesta a la pregunta