比如下面匹配 IP 地址前面部分的操作,请问如何通过 SearchValues 实现
using System.Buffers;
internal class Program
{
private static readonly SearchValues<string> _baiduIpPrefixes = SearchValues.Create(
["116.179.37.", "220.181.", "159.226.50.", "202.108."],
StringComparison.OrdinalIgnoreCase);
private static void Main(string[] args)
{
var ip = "116.179.37.1";
// 检查该 ip 是否是以 _baiduIpPrefixes 中任一前缀开头
}
}
通过 IndexOfAny 解决了
var startWith = ip.AsSpan().IndexOfAny(_baiduIpPrefixes) == 0;