.NET Core中,除了VB的LikeString,还有哪些类似实现?

摘要:Like运算符很好用,特别是它所提供的其中*、?这两种通配符,在Windows文件系统和各类项目中运用非常广泛。
但Like运算符仅在VB中支持,在C#中,如何实现呢?
以下是关于LikeString的四种实
Like运算符很好用,特别是它所提供的其中*、?这两种通配符,在Windows文件系统和各类项目中运用非常广泛。 但Like运算符仅在VB中支持,在C#中,如何实现呢? 以下是关于LikeString的四种实现方式,其中第四种为Regex正则表达式实现,且在.NET Standard 2.0及以上平台支持。 Operators.LikeString 方法 方法描述:表示 Visual Basic 的 Like 运算符,对给定的两个字符串执行二进制字符串或文本字符串比较。 平台兼容性:该方法由Microsoft.VisualBasic.dll库提供,仅在.NET Framework平台下支持。 参考链接:https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.compilerservices.operators.likestring 源码链接:无 LikeOperator.LikeString 方法 方法描述:对给定的两个字符串执行二进制字符串或文本字符串比较。 平台兼容性:该方法由Microsoft.VisualBasic.Core.dll提供,在.NET Framework和.NET Core 3.0+以上平台都支持。 参考链接:https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualbasic.compilerservices.likeoperator.likestring 源码链接:https://github.com/dotnet/runtime/blob/main/src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/CompilerServices/LikeOperator.vb FileSystemName.MatchesSimpleExpression 方法 方法描述:验证给定表达式是否与给定名称匹配。支持以下通配符:“*”and“?”。反斜杠字符“\”将转义。 平台兼容性:该方法由System.Private.CoreLib.dll提供,在.NET Standard 2.1和.NET Core 2.1+以上平台都支持。 参考链接:https://learn.microsoft.com/en-us/dotnet/api/system.io.enumeration.filesystemname.matchessimpleexpression 源码链接:https://github.com/dotnet/runtime/blob/main/src/libraries/System.Private.CoreLib/src/System/IO/Enumeration/FileSystemName.cs RegexLikeOperator.LikeString 方法 方法描述:使用正则表达式,模仿LikeOperator.LikeString方法,实现字符串的通配符匹配,持*和?通配符,支持忽略大小写匹配。​ 平台兼容性:该方法由GitHub Copilot实现,在.NET Standard 1.0和.NET Framework 1.1+以上以及.NET Core 1.0+以上平台都支持。 源码实现: /// <summary> /// 使用正则表达式,模仿Microsoft.VisualBasic.CompilerServices.LikeOperator.LikeString方法,实现字符串的通配符匹配 /// </summary> public static class RegexLikeOperator { /// <summary> /// 使用正则表达式,模仿Microsoft.VisualBasic.CompilerServices.LikeOperator.LikeString方法,实现字符串的通配符匹配。<br/> /// 支持*和?通配符,支持忽略大小写匹配。
阅读全文