SORU
30 EYLÜL 2009, ÇARŞAMBA


C#: çok satırlı dize satırları arasında Döngü

Çok daha fazla bellek kullanmadan bir çok satırlı dize (bir dizi bölmek olmadan örneğin) her satırı döngü için iyi bir yolu nedir?

CEVAP
30 EYLÜL 2009, ÇARŞAMBA


Öneririm kullanarak bir arada StringReader LineReader sınıf, hangi parçası MiscUtil aynı zamanda mevcut this StackOverflow answer - kolayca kopyalama sadece o sınıfa kendi programı projesi. Bu şekilde kullanmak istiyorum:

string text = @"First line
second line
third line";

foreach (string line in new LineReader(() => new StringReader(text)))
{
    Console.WriteLine(line);
}

Döngü içinde tüm satırları bir ceset dize veri (ister böyle bir dosya ya da her neyse) çok sık görülen bu olmamalı gerekli telefon kodu için test etmek için boş vs :) bunu söyledikten sonra, eğeryapınel ile bir döngü yapmak istiyorum, bu ben genellikle Fredrik tercih edecekleri şeklinde

using (StringReader reader = new StringReader(input))
{
    string line;
    while ((line = reader.ReadLine()) != null)
    {
        // Do something with the line
    }
}

Bu sayede sadece test için hiçlik, bir kez ve gerek yok sanırım hakkında bir do/while döngü ya da (ki nedense hep alır bana daha fazla çaba okumak için daha düz bir süre döngü).

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • Defence Videos

    Defence Vide

    13 Mayıs 2013
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009