c#题例-2025-08-29 14:19:48
日期: 2025-08-29 分类: AI写作 2次阅读
编写一个C#程序,实现一个支持通配符匹配的函数,用于判断给定的字符串是否匹配指定的模式。模式中包含以下通配符:
- `?` 匹配任意单个字符;
- `*` 匹配任意字符序列(包括空序列)。
函数签名如下:
```csharp
bool IsWildcardMatch(string input, string pattern)
```
要求:
1. 不得使用正则表达式(Regex)或类似封装好的匹配函数;
2. 实现需高效处理长字符串和复杂模式;
3. 支持转义字符:如果模式中出现 `\`,则其后一个字符应视为普通字符而非通配符;
4. 编写单元测试验证函数的正确性,覆盖以下场景:
- 基本匹配(如 `input = "hello"`,pattern = `"h?llo"`);
- 通配符 `*` 的使用(如 `input = "world"`,pattern = `"w*"`);
- 转义字符处理(如 `input = "a?b"`,pattern = `"a\?b"`);
- 多个 `*` 的情况(如 `input = "abcxyz123"`,pattern = `"a*xyz*"`);
- 极端情况(如空字符串、连续多个 `*`、模式长度远大于输入字符串等)。
请提供完整可运行代码及测试用例。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐