Risolto C# Due sintassi a confronto.. qual'è la migliore?

Sevenjeak

Utente Gold
23 Settembre 2010
333
58
26
202
Salve,

In C# per creare un componente ( ad esempio Panel ), lato codice, si fa cosi:

C#:
Panel panello = new Panel();

panello.Name = "panel1";
panello.Dock = DockStyle.Fill;
panello.BackColor = Color.Yellow;

La stessa cosa può anche essere scritta cosi:

C#:
Panel panello = new Panel()
{
   Name = "panel1",
   Dock = DockStyle.Fill,
   BackColor = Color.Yellow,
};

Con sintassi diversa.

Ora, la mia domanda è questa, cambia qualcosa utilizzando l'una o l'altra? non so, magari a livello di prestazione nel programma finale
 
I due modi di inizializzazione delle proprietà degli oggetti che hai descritto sono di fatto equivalenti, sia a livello logico che di CIL prodotto e quindi di prestazioni. Il secondo modo serve solo per avere una sintassi più pulita evitando di ripetere sempre il nome dell'oggetto che si sta inizializzando. Può essere utile per fare operazioni inline ad esempio anche quando dichiari una variabile statica invece di inizializzarla da un costruttore statico della classe.
 
  • Mi piace
Reazioni: Sevenjeak