C'è un motivo che rende praticamente impossibile usare caratteri diversi dal monospace per la codifica, ma non è stato menzionato in altre risposte: selezioni rettangolari .
Questa funzione, spesso non molto utile e poco conosciuta quando si lavora con il testo normale, è essenziale per gli sviluppatori. Puoi immaginare una moltitudine di scenari: rimuovere //
commenti su più righe, aggiungere parentesi o altri caratteri, ecc. Ciò è ancora più prezioso con il supporto avanzato di selezioni rettangolari, come in Visual Studio 2010, in cui non puoi solo selezionare e rimuovere testo, ma selezionalo e sostituiscilo.
Facciamo un esempio:
private IEnumerable<SELove> StackExchangeRocks()
{
var howILoveSEWebsites = new []
{
new SELove { SiteName = "Stack Overflow", MyReputation = 5269, MyRating = Rating.Outstanding, },
new SELove { SiteName = "Programmers", MyReputation = 16937, MyRating = Rating.Outstanding, },
new SELove { SiteName = "Super User", MyReputation = 650, MyRating = Rating.QuiteGood, },
new SELove { SiteName = "Server Fault", MyReputation = 489, MyRating = Rating.Good, },
// Initialize other websites here.
};
return howILoveSEWebsites.OrderByDescending(c => c.MyRating);
}
private class SELove
{
public string SiteName { get; set; }
public int MyReputation { get; set; }
public Rating MyRating { get; set; }
}
private enum Rating
{
Outstanding,
Good,
QuiteGood,
}
In questo codice legacy, voglio sostituire la valutazione in-code con un metodo che caricherà la mia valutazione dai siti Web Stack Exchange stessi, potendo avere sempre dati aggiornati. Ho iniziato a refactoring la MyReputation
proprietà e ora voglio rimuovere l'inizializzazione, nell'ambito. Immagina di non avere quattro, ma tutti i siti Web 84 SE.
Ecco cosa succede quando si usa Consolas , un carattere monospace. Premo Backspace, e tutto qui, posso passare il tempo rimanente a fare qualcosa di veramente utile.
E qui la stessa cosa con l' interfaccia utente di Segoe . Ahia!