SORU
11 Temmuz 2010, Pazar


Hızlı bir dizedeki ilk char kaldırmak için yolu

Şu dize var ki

string data= "/temp string";

Eğer ilk karakter / kaldırmak istiyorsak yollar böyle sürü gibi yapabiliriz :

data.Remove(0,1);
data.TrimStart('/');
data.Substring(1);

Ama .. gerçekten iyi bir algoritma ve ne var bilmiyorum dahaİyi ya da hepsi aynı olan biri var mı ?

CEVAP
11 Temmuz 2010, Pazar


İkinci seçenek çok eğer string ise diğerleri de aynı şey değil - "///foo" olacak "yerine" //foo "foo

İlk seçenek biraz üçüncü en yaygın olarak Substring seçenek görünüm daha hızlı anlamak için daha fazla çalışma ve okunabilir ihtiyacı var.

(Bireysel bir ifadesi olarak onlara belli ki her işe yarar bir şey yapmayacağım - bir değişken, muhtemelen data kendisi için sonucu atamanız gerekir.)

Ben kabul etmedi performansını dikkate sürece burada aslında olmak senin için sorun - bu durumda tek yolu edeceğini bilemez olmak zorunda test çalışmaları, ve daha sonra kolay olan, sadece bir kaç test durumlarda her seçenek ve karşılaştırma sonuçları. Ben pek bir şey kalmamış Substring muhtemelen en hızlı burada, çünkü Substring Her zaman biter oluşturma, Bir dizeden tek bir parça orijinal giriş, oysa Remove var en azındanpotansiyel olarakbir başlangıç tutkal parça ve son parça.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • max2sims2

    max2sims2

    19 Kasım 2008
  • SunsetTrance

    SunsetTrance

    20 EYLÜL 2008
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008