Dizeler listesini üreten bazı LINQ kodlarım var, bu gibi:Dizelerin bir listesini tek bir birleştirilmiş dizeye dönüştürmenin en hızlı yolu?
var data = from a in someOtherList
orderby a
select FunctionThatReturnsString(a);
Bu dizeleri birleştirilmiş bir dizeye nasıl dönüştürürüm? Verilerin şu girdileri içerdiğini varsayalım:
"Some "
"resulting "
"data here."
Buna benzeyen bir dizeyle bitirmeliyim:
"Some resulting data here."
Bunu nasıl hızlı bir şekilde yapabilirim? Bunu düşündüm:
StringBuilder sb = new StringBuilder();
data.ToList().ForEach(s => sb.Append(s));
string result = sb.ToString();
Ancak bu doğru görünmüyor. Doğru çözümse, bunu bir uzatma yöntemine dönüştürmeyi nasıl başarabilirim?
+1 Bu en kısa yöntem değil, ancak OP açıkça * en hızlı * için soruyor ve bu gerçekten de 'string.Concat' /' string.Join' tarafından takip edilen 'ToArray()' yi kullanarak atıyor. – Noldorin
@Noldorin: En hızlı biraz tanımsız;) Programcı veya makine için? –
Teşekkürler! En hızlı şekilde koşma zamanı demek istedim. – jasonh