如上面所说,你可能还不太了解类、函数等的作用。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、雅安服务器托管、营销软件、网站建设、建阳网站维护、网站推广。
类可以用来封装一系列操作,或者是一类对象的特性。像上面的描述,有可能是滥用类了。
建议你这样,弄一个专门的运算类,里面有四个运算的函数,比如:
Class 运算
Shared Function 加(ByVal 加数1 As Decimal, ByVal 加数2 As Decimal) As Decimal
'举个例子
Return 加数1 + 加数2 '百度打不出英文加号,你自己改一下
Exit Function
End Function
Shared Function 减(ByVal 被减数 As Decimal, ByVal 减数 As Decimal) As Decimal
'举个例子
Return 被减数 - 减数
Exit Function
End Function
End Class
上面我写了两个例子,你可以照抄然后自己写乘除的,总之不要滥用类就行。
PS:Shared函数的使用不需要类被实例化,可以直接这样使用:
Msgbox(运算.加(1,2).ToString)
你会发现“运算”是蓝色的
C返回局部变量的值也没问题啊
只是如果这个局部变量是指向栈上的内存的指针,由于函数结束后活动栈被清空,会导致指针失效。
VB.NET不支持指针语法,它不可能返回指向栈上的指针,所以用不着担心这个问题。
你的理解
第一点理解是正确的,不过和这个问题关系不大。因为引用类型本来就不是分配在栈上的,它当然就不受函数的影响。
第二点,那个只是个语法问题。VB6没有Return语句,所以它必然有另外一种语法来表明函数的返回值。这个和函数能否返回正确的对象没有关系,就是一种表明函数返回值的语法。
编译器确实定义了一个和函数同名的变量,那个变量就是一个普通的局部变量,作用域就在函数的局部域里。这个变量没什么特别的,就是编译器会在函数结束时把这个变量的值作为函数的返回值返回而已。
数据类型转换函数:
转换函数
将表达式转换成
cbool
boolean
cbyte
byte
ccur
currency
'只在vb7.0以下有效
cdate
date
cdbl
double
cint
integer
clng
long
csng
single
cstr
string
cvar
variant
‘只在vb7.0以下有效
cverr
error
'只在vb7.0以下有效
很简单,在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