SORU
25 AĞUSTOS 2009, Salı


C kullanarak ifadeleri iç içe#

Bir proje üzerinde çalışıyorum ve iki dosyaları karşılaştırmak ve eğer birbirimizi ama tam onlar Maç olmadığını görmek için.

Hata çok önce benim ilk taslak kontrol ve doğrulama ile geldi:

  DirectoryInfo di = new DirectoryInfo(Environment.CurrentDirectory   "\\TestArea\\");
  FileInfo[] files = di.GetFiles(filename   ".*");

  FileInfo outputFile = files.Where(f => f.Extension == ".out").Single<FileInfo>();
  FileInfo expectedFile = files.Where(f => f.Extension == ".exp").Single <FileInfo>();

  using (StreamReader outFile = new StreamReader(outputFile.OpenRead()))
  {
    using (StreamReader expFile = new StreamReader(expectedFile.OpenRead()))
    {
      while (!(outFile.EndOfStream || expFile.EndOfStream))
      {
        if (outFile.ReadLine() != expFile.ReadLine())
        {
          return false;
        }
      }
      return (outFile.EndOfStream && expFile.EndOfStream);
    }
  }

Biraz garip ifadeler kullanarak iç içe geçmiş gibi görünüyor.

Daha iyi bir yolu bunu yapmak için vardır?

CEVAP
25 AĞUSTOS 2009, Salı


Bunu yapmak için tercih edilen yolu sadece bu gibi bir açılış { brace using son cümlesinden sonra koymak için

using (StreamReader outFile = new StreamReader(outputFile.OpenRead()))
using (StreamReader expFile = new StreamReader(expectedFile.OpenRead())) 
{
    ///...
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BlackmillMusic

    BlackmillMus

    3 Kasım 2010
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010
  • Willie D.

    Willie D.

    16 Aralık 2006

İLGİLİ SORU / CEVAPLAR