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

  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009
  • mipd1980

    mipd1980

    25 EKİM 2006
  • The Fashion Sight

    The Fashion

    22 AĞUSTOS 2011