Поиск текста в richtextbox WPF C #

для

var exts = new[] { "mp3", "jpg" };

Вы могли бы:

public IEnumerable FilterFiles(string path, params string[] exts) {
    return
        Directory
        .EnumerateFiles(path, "*.*")
        .Where(file => exts.Any(x => file.EndsWith(x, StringComparison.OrdinalIgnoreCase)));
}

Но реальная выгода EnumerateFiles появляется, когда вы разделяете фильтры и объединяете результаты:

public IEnumerable FilterFiles(string path, params string[] exts) {
    return 
        exts.Select(x => "*." + x) // turn into globs
        .SelectMany(x => 
            Directory.EnumerateFiles(path, x)
            );
}

Это становится немного быстрее, если вам не нужно их поворачивать

Оценка производительности на основе следующего теста LinqPad (примечание: Perf просто повторяет делегат 10000 раз) https://gist.github.com / zaus / 7454021

(повторно отправлено и расширено от 'duplicate', поскольку этот вопрос специально запросил LINQ: Несколько расширений файлов searchPattern для System.IO.Directory.GetFiles )

0
задан karel 26 February 2019 в 03:47
поделиться

1 ответ

Вы должны использовать метод получения ".Document.ContentStart" для ".Document.ContentEnd", так как он находится в формате расширенного текста с добавлением форматирования. Внутри текстового поля есть идеально отформатированные текстовые индикаторы и артефакты, такие как полужирный шрифт, свойства абзаца и типы шрифтов. Вам нужно будет установить предопределенные диапазоны, используя «.Document». свойство, которое обозначает, что вы хотите просто текст:

var txtReturn = TextRange(RichTextBox.Document.ContentStart,
        RichTextBox.Document.ContentEnd).Text;
Console.WriteLine(txtReturn);
0
ответ дан Apollo SOFTWARE 26 February 2019 в 03:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: