SearchValuesТогда вместе со
Span добавили новую структуру данных для ускорения поиска вхождения символов в строку:var vowelSearch = SearchValues.Create(new[] { 'a', 'e', 'i', 'o', 'u' });
var containsVowel = "text".AsSpan().ContainsAny(vowelSearch);И она реально работает быстро, я даже применил её в своём проекте более хитрым способом через
IndexOfAny:https://github.com/Stepami/hydrascript/issues/58
Что интересно, в .NET 9 возможности расширили, добавив формирование поисковой структуры из строк, в добавку к символам:
var nameSearch = SearchValues.Create(new[] { "Alice", "Bob", "Charlie", "Diana" }, StringComparison.OrdinalIgnoreCase);
var text = ...
var contains = text.ContainsAny(names);Советую не забывать про
SearchValues, если вам нужно фильтровать и анализировать вхождение данных