You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET LIKE运算符在C#中的等效实现方案咨询

C#替代VB.NET LIKE运算符的方案

对于你要迁移的VB.NET字符范围判断逻辑,C#里有两种实用方案可选:

方案1:正则表达式(通用LIKE场景)

VB的Like "[A-D]"这类匹配模式,完全可以用C#的Regex.IsMatch实现,正则语法和VB Like的模式兼容度很高,直接复用原模式即可:

using System.Text.RegularExpressions;

// 对应原VB的判断逻辑
if (Regex.IsMatch(item, "^[A-D]$"))
{
    // 此处写原逻辑代码
}
if (Regex.IsMatch(item, "^[E-H]$"))
{
    // 此处写原逻辑代码
}
if (Regex.IsMatch(item, "^[I-M]$"))
{
    // 此处写原逻辑代码
}
if (Regex.IsMatch(item, "^[N-V]$"))
{
    // 此处写原逻辑代码
}

注:^和$是正则的起始/结束标记,确保整个字符串(这里是单个字符)完全匹配,避免出现部分匹配的意外情况。

方案2:直接字符范围比较(单个字符场景更高效)

因为你的判断都是针对单个字符的区间,直接通过字符的ASCII值比较会比正则更高效,代码也更直观:

// 假设item是单个字符的字符串,若为char类型可直接使用
if (item.Length != 1)
{
    // 处理非单个字符的情况,比如跳过或抛出提示
    return;
}
char c = item[0];

if (c >= 'A' && c <= 'D')
{
    // 此处写原逻辑代码
}
if (c >= 'E' && c <= 'H')
{
    // 此处写原逻辑代码
}
if (c >= 'I' && c <= 'M')
{
    // 此处写原逻辑代码
}
if (c >= 'N' && c <= 'V')
{
    // 此处写原逻辑代码
}

内容的提问来源于stack exchange,提问作者Vinícius PUC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 21:50:39