十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C返回局部变量的值也没问题啊
兴安盟ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
只是如果这个局部变量是指向栈上的内存的指针,由于函数结束后活动栈被清空,会导致指针失效。
VB.NET不支持指针语法,它不可能返回指向栈上的指针,所以用不着担心这个问题。
你的理解
第一点理解是正确的,不过和这个问题关系不大。因为引用类型本来就不是分配在栈上的,它当然就不受函数的影响。
第二点,那个只是个语法问题。VB6没有Return语句,所以它必然有另外一种语法来表明函数的返回值。这个和函数能否返回正确的对象没有关系,就是一种表明函数返回值的语法。
编译器确实定义了一个和函数同名的变量,那个变量就是一个普通的局部变量,作用域就在函数的局部域里。这个变量没什么特别的,就是编译器会在函数结束时把这个变量的值作为函数的返回值返回而已。
注意:参数为动态数组;
Private Function MyF(ByRef d() As Integer)
ReDim d(4, 13) As Integer
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim MyNum(4) As Integer
For i = 1 To 4
MyNum(i) = 0
Next i
Randomize
For i = 1 To 4
For j = 1 To 13
n = Int(Rnd * 4 + 1)
Do While MyNum(n) = 13
n = Int(Rnd * 4 + 1)
Loop
d(i, j) = n
MyNum(n) = MyNum(n) + 1
Next j
Next i
End Function
常用不常用,要看每个人的编程方向和使用习惯的!一般字符串函数和类型转换函数都是要用的
很简单,在end select前再多加一种情况case else return "XXXx",因为你只提供了0-9这10种情况
Public Function Zuhe(ByVal qa As String) As String
Select Case qa
Case "0"
Return "1"
Case "1"
Return "3"
Case "2"
Return "4"
Case "3"
Return "6"
Case "4"
Return "2"
Case "5"
Return "8"
Case "6"
Return "9"
Case "7"
Return "7"
Case "8"
Return "5"
Case "9"
Return "0"
Case else
Return "XXXX"
End Select
End Function