Vb.net 如何在vbNET中填充此结构字符串数组?

Vb.net 如何在vbNET中填充此结构字符串数组?,vb.net,string,visual-studio-2013,structured-array,Vb.net,String,Visual Studio 2013,Structured Array,VisualStudio告诉我必须声明变量,即使它已经声明了 虽然类型是Int,但我使用循环以类似的方式填充了一个结构化数组。 这次我不想使用循环,只是硬编码 Structure Sentence Dim strWord As String End Structure Dim strArticles(1) As Sentence strArticles(0).strWord = "The" 谢谢您是否在方法体中定义了结构?它必须在方法之外定义,可以在模块中定义,也可以在类中定义。参

VisualStudio告诉我必须声明变量,即使它已经声明了

虽然类型是Int,但我使用循环以类似的方式填充了一个结构化数组。 这次我不想使用循环,只是硬编码

Structure Sentence
    Dim strWord As String
End Structure

Dim strArticles(1) As Sentence

strArticles(0).strWord = "The"

谢谢

您是否在方法体中定义了结构?它必须在方法之外定义,可以在模块中定义,也可以在类中定义。参见示例

这很好:

Module Module1

    Sub Main()
        Dim s = New Sample()
        s.DoIt()
    End Sub

End Module
Class Sample
    Structure Sentence
        Dim strWord As String
    End Structure

    Public Sub DoIt()
        Dim strArticles(1) As Sentence
        strArticles(0).strWord = "The"
        Console.WriteLine(strArticles(0).strWord)
    End Sub
End Class

这不是一种方法,而是在课堂上。谢谢,这很有效。为什么之前我不必使用模块,是因为它处于由事件触发的循环中?@JonQ只是接受它作为我将收到的答案和代表:)@JonQ-要在一段代码中使用一个结构(或任何东西),该段代码必须访问该结构的实例,并且必须访问该结构(声明)为了知道被操纵实例的类型。例如,检查结构是否声明为私有。如果
选项infer
On
(默认情况下!-这样做可以节省时间,但代码更容易出错),则授予访问权限失败将迫使VS尝试推断类型。如果Visual Studio在实例类型中出错,则可能会出现编译错误或更糟的情况,即运行时强制转换异常。