Dichiarare una variabile all’interno o all’esterno di un ciclo foreach: che è più veloce / migliore?

Quale di questi è il più veloce / migliore?

Questo:

List list = new List(); User u; foreach (string s in l) { u = new User(); u.Name = s; list.Add(u); } 

O questo:

 List list = new List(); foreach (string s in l) { User u = new User(); u.Name = s; list.Add(u); } 

Le mie capacità di sviluppo da principiante mi dicono che il primo è migliore, ma un mio amico mi dice che ho sbagliato, ma non potrei darmi una buona ragione per cui il secondo è migliore.

C’è qualche differenza nelle prestazioni?