如何声明数组字符串或在vb中初始化它?

时间:2016-01-07 16:58:09

标签: vb.net windows

我试试这个但返回错误

 Public Function Coba() As String()
 Return {"satu", "dua", "tiga"} End Function

但这没关系:

Public Function Test() As String()
 Return New String() {"anjing", "badak", "kucing"} End Function

为什么第一个是错误?我可以创建一个数组而不首先初始化它,也许是一些快捷方式?

2 个答案:

答案 0 :(得分:0)

你真的应该创建期望类型的对象然后传递这些对象(在这种情况下,一个数组回到调用者)。

就个人而言,这是第一个例子是走的路而不是第二个。两者都很简单并且可能没有多大意义,但一般来说,我们多次从源获取阵列数据,例如获取文件夹中的文件,从数据库中读取数据等,并且通过使用我们可以轻松调试的变量而不是那么可见,并且还有一个公共符号而不是一个想要清理内存的匿名符号。

样本1

Public Function NameArray() As String()
    Dim values As String() = New String() {"satu", "dua", "tiga"}
    Return values
End Function

样本2

Public Function NameArray() As String()
    Return New String() {"satu", "dua", "tiga"}
End Function 

两者在VS2013中都有效(我知道你使用的是VS2008)。下一个例子已经创建了数组,所以我们只需返回它。

Public Function AbbreviatedMonthNames() As String()
    Return System.Globalization _
        .CultureInfo.CurrentCulture.DateTimeFormat _
        .AbbreviatedMonthNames
End Function

底线,如果有疑问,选项严格打开并在编码时走很长的路线,而不是采取快捷方式,因为编码捷径时很多次会导致问题。

答案 1 :(得分:-3)

尝试这可能会帮助你

SELECT EXTRACT(MONTH FROM TRUNC(HDATE)) as MN, COUNT(DISTINCT ID) as CNT
FROM (SELECT id, MIN(HDATE) as HDATE
      FROM Schema.TRAVEL t
      WHERE ARR IN  '2', '3') AND
            HDATE BETWEEN  DATE '2015-10-01' AND DATE '2016-09-30'
      GROUP BY id
     ) t
GROUP BY EXTRACT(MONTH FROM TRUNC(HDATE));

尝试阅读本文

git push rejected non-fast-forward