non stanno generando la stessa cosa ??
Beh, certo, ma questo non dovrebbe essere un deterrente, dovrebbe? Una classe è progettata per qualcosa di più specifico dell'altro, quindi offre un maggiore livello di praticità.
Potrei chiedere: perché utilizzare un StringBuilder
? Perché non uno List<char>
? Non potrei generare la stessa cosa da entrambi?
Un passo avanti: perché anche un List<char>
? Perché non solo un char[]
, il ridimensionamento/la manipolazione di cui posso controllarmi? Posso ancora creare completamente un string
da un char[]
.
In effetti, tutto ciò di cui ho veramente bisogno è uno char*
e uno int
(per la lunghezza). Destra?
Il mio punto è che se una classe è disponibile per funzionalità specializzate che è possibile utilizzare, ha senso utilizzarla se me lo chiedi.
fonte
2010-06-15 14:33:44
Per i tag semplici come sopra, preferisco 'sb.AppendFormat (" ", link, cssClass);' ma i metodi su TagBuilder sono davvero accurati se uno ha bisogno di tag più complessi. – Don
Nota che ha chiesto di costruire un tavolo, cioè è probabilmente un tavolo di nidificazione, e quindi più trs e tds. Non avrà bisogno di un tagbuilder per ognuno di questi? Mi aspetto che diventi molto più complicato del costruttore di stringhe equivalente. – Rup
"" è ancora più pulito. Ed è veloce perché 1) la concatenazione delle stringhe è abbastanza veloce, con il risultato finale che è una singola stringa comunque, e 2) non si ottimizza prematuramente. Per i casi più complessi (come le tabelle) suggerirei modelli di motore come Spark. Ho visto fonti che usano TagBuilder e questo è ancora difficile da capire. – queen3