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

Visual Basic中List初始化语法错误排查:DNS测速工具代码问题

VB中List字段初始化语法错误的排查与解决

在VB类级别声明List字段时,你遇到的'}' expected和')' expected错误,通常是初始化语法不符合VB规则,或是存在格式细节疏漏。以下是具体原因和修复方案:

核心语法规则

VB中类级别字段的List初始化,不能直接使用From {...}的集合初始化器(该语法仅适用于局部变量或方法内的初始化),必须通过构造函数传递数组的形式:New List(Of String)({元素1, 元素2, ...})。

常见错误场景及修复

1. 语法混用错误

如果你的domainsToTest写成了以下错误形式,会触发语法报错:

' 错误:类字段不能用From初始化
Private domainsToTest As New List(Of String) From {"google.com", "github.com"}

' 错误:多余的From关键字
Private domainsToTest As List(Of String) = New List(Of String)(From {"google.com"})

修复为正确格式:

Private domainsToTest As List(Of String) = New List(Of String)({
    "google.com",
    "github.com",
    "stackoverflow.com"
})

2. 元素格式错误

  • 字符串引号未闭合:比如某个域名写成"github.com(缺少结尾双引号),编译器会无法正确解析括号位置,抛出括号缺失的错误。
  • 多余的末尾逗号:如果最后一个元素后加了逗号(比如"stackoverflow.com",),旧版本VB编译器会报错,需要移除多余的逗号。

3. 项目框架版本限制

如果你的项目目标是.NET Framework 3.5及更早版本,List(Of T)的构造函数不支持直接传递数组初始化,需要先声明数组再赋值:

Private domainsArray() As String = {"google.com", "github.com"}
Private domainsToTest As New List(Of String)(domainsArray)

验证方法

可以先在局部变量中测试初始化语法(比如在Sub Main或某个方法内),如果局部变量能正常运行,说明类字段的写法不符合规则,按照上述正确格式修改即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:00:16