SORU
4 Ocak 2009, Pazar


En iyi C karakteri tekrarlamak *

En iyi yolu \tBir karakter dizisi oluşturmak için ne's C#

C öğreniyorum# ve aynı şeyi söylemenin farklı yolları denemektedir.

Tabs(uint t) string \t tmiktar's . ile döndüren bir işlevdir

Örneğin Tabs(3) "\t\t\t" döndürür

Tabs(uint numTabs) uygulama bu üç yol en iyisidir?

"" Anlamına gelir. en iyi ne olduğuna bağlı tabii

  1. SERİ versiyonu güzel olan sadece iki satır. Ama bu aramaları Tekrarlamak ve gereksiz yere Toplama zamanı/kaynak tüketen?

  2. StringBuilder sürümü çok açıktır ama StringBuilder sınıfı bir şekilde yavaş mı?

  3. string sürümü kolay anlaşılır olduğu anlamına gelir, temel,.

  4. Hiç umurunda değil mi? Tüm bunlar?

Bu bana C için daha iyi bir fikir almak için sorular#.

private string Tabs(uint numTabs)
{
    IEnumerable<string> tabs = Enumerable.Repeat("\t", (int) numTabs);
    return (numTabs > 0) ? tabs.Aggregate((sum, next) => sum   next) : ""; 
}  

private string Tabs(uint numTabs)
{
    StringBuilder sb = new StringBuilder();
    for (uint i = 0; i < numTabs; i  )
        sb.Append("\t");

    return sb.ToString();
}  

private string Tabs(uint numTabs)
{
    string output = "";
    for (uint i = 0; i < numTabs; i  )
    {
        output  = '\t';
    }
    return output; 
}

CEVAP
4 Ocak 2009, Pazar


Bu ne hakkında:

string tabs = new String('\t', n);

Ya da daha iyisi:

static string Tabs(int n)
{
    return new String('\t', n);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • hotstrikegently

    hotstrikegen

    26 AĞUSTOS 2011
  • theavettbrothers

    theavettbrot

    9 ŞUBAT 2007