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

如何高效检测文本框中是否包含域名后缀且避免重复代码?

高效检测文本框中的域名后缀

当然有更高效的写法啦!你原来的代码重复调用Contains确实有点冗余,而且后续要加新的域名后缀时,还得不断追加Or语句,维护起来很麻烦。

首先得明确:.NET里的String.Contains方法不支持直接传入多个参数,所以你想写成If textbox1.Text.Contains(".org", ".com", ...)这种形式是不行的,但我们可以用更优雅的方式实现需求:

方法一:用数组存储后缀 + LINQ的Any方法

把所有要检测的域名后缀放到一个数组里,然后通过LINQ的Any方法来判断文本框内容是否包含其中任意一个后缀,代码如下:

' 把需要检测的后缀集中管理,后续加新后缀直接改数组就行
Dim domainSuffixes As String() = {".org", ".com", ".net", ".us", ".edu"}
If domainSuffixes.Any(Function(s) TextBox1.Text.Contains(s)) Then
    Browser.Load(TextBox1.Text)
End If

这种写法的好处很明显:

  • 避免了重复写TextBox1.Text.Contains(...)的冗余代码
  • 后缀集中存储,后续维护(新增/删除后缀)只需要修改数组,逻辑清晰

方法二:支持大小写不敏感的检测

如果需要兼容用户输入大写后缀(比如.COM、.ORG)的场景,可以改用IndexOf方法并指定忽略大小写的规则:

Dim domainSuffixes As String() = {".org", ".com", ".net", ".us", ".edu"}
If domainSuffixes.Any(Function(s) TextBox1.Text.IndexOf(s, StringComparison.OrdinalIgnoreCase) >= 0) Then
    Browser.Load(TextBox1.Text)
End If

这样不管用户输入的是小写还是大写后缀,都能准确检测到。

内容的提问来源于stack exchange,提问作者Ineffable

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:17:48