代码之家  ›  专栏  ›  技术社区  ›  Cheung

dim files()作为字符串和dim files作为字符串()有什么不同?

  •  7
  • Cheung  · 技术社区  · 16 年前

    在本代码中:

    Dim files() As String = Directory.GetFiles("C:/")
    
    Dim files As String() = Directory.GetFiles("C:/")
    

    两种说法有区别吗?

    4 回复  |  直到 10 年前
        1
  •  5
  •   Mark Byers    16 年前

    两者是相同的。如果使用Reflector,可以看到它们被编译为相同的IL:

    .field private string[] files
    
        2
  •  3
  •   Joannes Vermorel    16 年前

    它们产生了完全相同的东西——只是两种不同的声明形式。

        3
  •  2
  •   Sean    15 年前

    两者都是一样的

    Dim files() As String = Directory.GetFiles("C:/")
    
    Dim files As String() = Directory.GetFiles("C:/")
    

    两者都将声明一个数组并将所有文件名存储在c:\directory中

        4
  •  0
  •   Dima    10 年前

    实际上,这是有区别的。 示例解释了所有内容:

    Class Demo
        Property X() As Byte
        Property Y As Byte()
    End Class
    
    ...
    
    Sub DemoCode()
        Dim d As New Demo()
        d.X = New Byte() {}   ' !!! invalid
        d.Y = New Byte() {}   ' valid
    End Sub