The first one uses the default get and set code, and you don't need to include the field variables, so you can actually write it as:
public class Pesron
{
public string Name { get; set; }
public int Age { get; set; }
}
This will create _Name and _Age variables automatically when it compiles and I believe if you made variables with those names (capitalization matters!) you'd get a compile error.
The second is just the manual equivalent. If you aren't doing anything beyond getting/setting the variables, and you don't need to access the private member directly, the first is just more convenient to type.