Büyük bir metin dosyasında (300-600mb) bir dizgiyi aramaya çalışıyorum. Benim mevcut yöntemimi kullanarak, çok uzun sürüyor.C# büyük metin dosyasını arıyor
Şu anda dize aramak için IndexOf
kullanıyordum, ancak bu süre, dizeyle her satır için bir dizin oluşturmak için çok uzun (20s) yoldur.
Arama hızını nasıl en iyi duruma getirebilirim? Ben Contains()
denedim ama bu da yavaş. Baska öneri? Regex maçı düşünüyordum ama önemli bir hız artışı olduğunu görmüyorum. Belki benim arama mantık örneği
while ((line = myStream.ReadLine()) != null)
{
if (line.IndexOf(CompareString, StringComparison.OrdinalIgnoreCase) >= 0)
{
LineIndex.Add(CurrentPosition);
LinesCounted += 1;
}
}
Tam olarak ne arıyorsunuz? Kelimeler? – Lloyd
Senin CompareString nedir .. Lütfen ne aradığınızı bir örnek göster .. – MethodMan
Arama bölümünüz olduğundan emin misiniz? Ne olursa olsun herhangi bir kontrol yapmamak ne kadar sürer ve sadece dosya satırını okuyalım? –