VB.NET - 从函数返回一个2D数组

时间:2016-03-23 22:30:06

标签: vb.net

VB.NET - 从函数

返回一个2D数组

我有一个在2D数组中产生一组x和y坐标的函数但我找不到返回坐标的方法。

这是我想要实现的简化版本,但这会产生以下错误:类型的值' Double()'无法转换为' Double'。

Function myFunc(ByVal myVar As Double) As Double

    Dim myArr(2, 1) As Double

    myArr(0, 0) = 1 * myVar
    myArr(1, 0) = 2 * myVar
    myArr(2, 0) = 3 * myVar
    myArr(0, 1) = 4 * myVar
    myArr(1, 1) = 5 * myVar
    myArr(2, 1) = 6 * myVar

    Return myArr

End Function

我尝试了许多不同的方法,但我只是VB的新手,可能是 遗漏了一些简单任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您需要返回Double(,),而不是Double。它应该是:

Function myFunc(ByVal myVar As Double) As Double(,)

    Dim myArr(2, 1) As Double

    myArr(0, 0) = 1 * myVar
    myArr(1, 0) = 2 * myVar
    myArr(2, 0) = 3 * myVar
    myArr(0, 1) = 4 * myVar
    myArr(1, 1) = 5 * myVar
    myArr(2, 1) = 6 * myVar

    Return myArr

End Function

答案 1 :(得分:-1)

我设法通过将函数和myArr定义从Double更改为Object来解决此问题。该函数的结果是完整的数组,但存储为对象。不知道这是否是最好的方法,但它有效。

Function myFunc(ByVal myVar As Double) As Object

Dim myArr(2, 1) As Object

myArr(0, 0) = 1 * myVar
myArr(1, 0) = 2 * myVar
myArr(2, 0) = 3 * myVar
myArr(0, 1) = 4 * myVar
myArr(1, 1) = 5 * myVar
myArr(2, 1) = 6 * myVar

Return myArr

End Function