Criando um objeto com um dado interno randômico (random)

Estou tentando criar um objeto chamado “Estado”, no entanto gostaria que o DDD de cada objeto, ao criar, fosse gerado aleatoriamente.

class Estado {     public int Resultado { get; set; }     public string Nome { get; set; }      public Estado(string nome)     {         Nome = nome;         rnd();     }     public void rnd()     {         Random random = new Random();         Resultado = random.Next(0, 101);     }     public override string ToString()     {         return "Estado: "+Nome+"\nDDD: "+Resultado;     } } 

Mas ao rodar:

 static void Main(string[] args)     {         Estado pe = new Estado("Pernambuco");         Estado pa = new Estado("Pará");         Estado pi = new Estado("Piauí");         Estado pr = new Estado("Paraná");          Console.WriteLine(pe.ToString());         Console.WriteLine(pa.ToString());         Console.WriteLine(pi.ToString());         Console.WriteLine(pr.ToString());         Console.ReadLine();     } 

O resultado saí repetido:

Estado: Pernambuco

DDD: 60

Estado: Pará

DDD: 60

Estado: Piauí

DDD: 60

Estado: Paraná

DDD: 60

Como posso fazer para cada objeto, ao criar o construtor, ter seu próprio DDD gerado aleatoriamente?