c# dictionary foreach vs for performance