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的新手,可能是 遗漏了一些简单任何帮助将不胜感激。
答案 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