首页 新闻 会员 周边 捐助

C# 中如何使用 SearchValues 进行 start with 操作

0
悬赏园豆:30 [已解决问题] 解决于 2025-08-18 20:52

比如下面匹配 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 中任一前缀开头
    }
}
dudu的主页 dudu | 高人七级 | 园豆:24691
提问于:2025-08-18 20:34
< >
分享
最佳答案
0

通过 IndexOfAny 解决了

var startWith = ip.AsSpan().IndexOfAny(_baiduIpPrefixes) == 0;
dudu | 高人七级 |园豆:24691 | 2025-08-18 20:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册