13 AĞUSTOS 2010, Cuma
StringBuilder etkinliğini baltalıyor muyum?
Düz birleştirme tercih StringBuilder
kullanmaya başladım, ama çok önemli bir yöntem eksik gibi görünüyor. Bu yüzden, kendim, bir uzantısı olarak uygulanmaktadır:
public void Append(this StringBuilder stringBuilder, params string[] args)
{
foreach (string arg in args)
stringBuilder.Append(arg);
}
Bu şu pisliği döner:
StringBuilder sb = new StringBuilder();
...
sb.Append(SettingNode);
sb.Append(KeyAttribute);
sb.Append(setting.Name);
Bu içine:
sb.Append(SettingNode, KeyAttribute, setting.Name);
sb.AppendFormat("{0}{1}{2}",...
, ama bu daha az tercih edilen ve daha okumaya hala görünüyor kullanabilirim. Benim uzantısı iyi bir yöntemdir, ya da bir şekilde StringBuilder
faydaları zayıflatır mı? Zamanından önce bir şey optimize etmeye çalışmıyorum benim yöntem daha hızlı okunabilirlik hakkında daha fazla olduğu gibi, aynı zamanda ayak kendimi vuruyorum olmadığını bilmek istiyorum.
CEVAP
13 AĞUSTOS 2010, Cuma
Uzantısı bir sorun görmüyorum. Eğer işine yarıyorsa sorun yok.
Ben kendimi prefere:
sb.Append(SettingNode)
.Append(KeyAttribute)
.Append(setting.Name);
Bunu Paylaş:
nasıl fonksiyonları kabuk tanımlı list...
StringBuilder ve StringBuffer...
Nasıl# WinForm C başvurum yeniden muyu...
Ne kadar Hızlı zayıf başvurular bir di...
C standart iostreams için düşük perfor...