找不到类型为'String()'的公共成员'包含'

问题描述 投票:0回答:1

我有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[]类型。

vb.net variables
1个回答
1
投票

Local Type Inference有关。

Visual Basic编译器使用类型推断来确定数据没有As子句声明的local变量的类型。

仅根据局部变量推断变量类型。因为a3是类级别的变量,所以它是Object类型,没有Contains方法。

只要有可能,就应该设置Option Strict On并用正确的类型声明所有变量。

© www.soinside.com 2019 - 2024. All rights reserved.