你的?sub過程這個是子過程,無返回值的,這里Form1_Load中b仍然 ?b=""
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)公司的服務(wù)宗旨!把網(wǎng)站當作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個不僅審美在線,而且實用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。
如果你想b="注釋",將你的sub過程改成自定義函數(shù),用b來接收返回值就行了,代碼如下
Private?Sub?Form1_Load(sender?As?Object,?e?As?EventArgs)?Handles?MyBase.Load
Dim?a?As?String?=?"rem"
Dim?b?As?String?=?""
b?=?sub過程(b,?a)
Me.Text?=?b????????'為什么“b”不是等于?"注釋"
End?Sub
Private?Function?sub過程(ByVal?輸出?As?String,?ByRef?輸入?As?String)?As?String
If?輸入?=?"rem"?Then
輸出?=?"注釋"
End?If
Return?輸出
End?Function
.Net的所有類型都是從System.Object派生而來的,所以將函數(shù)直接定義成
Function Prior() As Object 即可
不過在返回之后,調(diào)用此函數(shù)的代碼要注意驗證返回值的有效性
C返回局部變量的值也沒問題啊
只是如果這個局部變量是指向棧上的內(nèi)存的指針,由于函數(shù)結(jié)束后活動棧被清空,會導致指針失效。
VB.NET不支持指針語法,它不可能返回指向棧上的指針,所以用不著擔心這個問題。
你的理解
第一點理解是正確的,不過和這個問題關(guān)系不大。因為引用類型本來就不是分配在棧上的,它當然就不受函數(shù)的影響。
第二點,那個只是個語法問題。VB6沒有Return語句,所以它必然有另外一種語法來表明函數(shù)的返回值。這個和函數(shù)能否返回正確的對象沒有關(guān)系,就是一種表明函數(shù)返回值的語法。
編譯器確實定義了一個和函數(shù)同名的變量,那個變量就是一個普通的局部變量,作用域就在函數(shù)的局部域里。這個變量沒什么特別的,就是編譯器會在函數(shù)結(jié)束時把這個變量的值作為函數(shù)的返回值返回而已。
1、我有一個function,如下:
function b()
'...
return "abc"
end function
2、調(diào)用時,這樣子用:
Response.write(b());
3、運行結(jié)果:
abc
當前標題:vb點虐
等待返回值 vbnet function 有返回值 舉例
文章路徑:http://www.rwnh.cn/article46/ddcjheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、電子商務(wù)、品牌網(wǎng)站設(shè)計、網(wǎng)站導航、響應(yīng)式網(wǎng)站、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)