I was testing a class in Linqpad and constructed a basic class but cannot get my head around how the two classes differ in execution. Can someone please help me out?
public class name // 1
{
    public string name1 {get;set;}
    public surname surname = new surname();
}
public class name // 2
{
    public string name1 {get;set;}
    public surname surname {get;set;}
    public name()
    {
    surname = new surname();
    }
}
public class surname
{
    public string surname1 {get;set;}
    public string surname2 {get;set;}
}
 
     
     
     
    