我有3个字符串数组,但是第三个数组'a3'抛出:
找不到类型为'String()'的公共成员'包含'。
在a3.Contains("a")
Public Class Form1
Dim a1 As String() = {"a", "b", "c"}
Dim a3 = {"a", "b", "c"}
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim a2 = {"a", "b", "c"}
a1.Contains("a")
a2.Contains("a")
a3.Contains("a")
End Sub
End Class
全部3个都是System.String[]
类型。
Visual Basic编译器使用类型推断来确定数据没有As子句声明的local变量的类型。
仅根据局部变量推断变量类型。因为a3
是类级别的变量,所以它是Object
类型,没有Contains
方法。
只要有可能,就应该设置Option Strict On
并用正确的类型声明所有变量。