C'è una ragione che rende praticamente impossibile l'utilizzo di caratteri diversi da Monospace per la codifica, ma non è stato menzionato in altre risposte: selezioni rettangolari .
Questa funzionalità, spesso non molto utile e poco conosciuta quando si lavora con testo normale, è essenziale per gli sviluppatori. Puoi immaginare una moltitudine di scenari: rimuovere //
commenti su più righe, aggiungere parentesi o altri caratteri, ecc. Questo è ancora più prezioso con il supporto avanzato delle selezioni rettangolari, come in Visual Studio 2010, in cui puoi non solo selezionare e rimuovi il 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 codice con un metodo che caricherà la mia valutazione dai siti Web Stack Exchange, potendo avere sempre dati aggiornati. Ho iniziato a ridefinire la proprietà MyReputation
e ora voglio rimuovere l'inizializzazione, nell'ambito. Immagina di non avere quattro, ma tutti i siti web di 84 SE.
Ecco cosa succede quando usi Consolas , un font monospace. Premo Backspace, e questo è tutto, posso passare il tempo rimanente a fare qualcosa di veramente utile.
EquilastessacosaconSegoeUI.Ouch!