我试试这个但返回错误
Public Function Coba() As String()
Return {"satu", "dua", "tiga"} End Function
但这没关系:
Public Function Test() As String()
Return New String() {"anjing", "badak", "kucing"} End Function
为什么第一个是错误?我可以创建一个数组而不首先初始化它,也许是一些快捷方式?
答案 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));
尝试阅读本文