ByVal 引数
VBでは、関数(Sub Function プロシージャ)を作成するときは、引数変数の前にByValを記述すると、関数には呼び出しもとの値がコピーされて渡される(値渡し)ので、関数内で引数の値が変更しても、呼び出し元の引数の値は変更されません。
Public Function 関数名(ByVal 引数名 As データ型) As 戻値データ型 ................. .............. End Function Public Sub 関数名(ByVal 引数名 As データ型) ................. .............. End Sub
ByValは省略することができます。
Public Function 関数名(引数名 As データ型) As 戻値データ型 ................. .............. End Function Public Sub 関数名(引数名 As データ型) ................. .............. End Sub
ByVal 引数 サンプルプログラム
それでは、関数の引数にByValを使って、商品の税込価格から消費税を計算し、消費税額を画面に表示するプログラムを作成します。
ソースリストの枠内をクリックすると全選択できます。
Module Module1 Sub Main() ' 変数の宣言 Dim inStr As String Dim zeikomiKakaku As Double ' キーボードから3商品の税込み価格を入力 Console.WriteLine("税込み価格を入力して") Console.WriteLine("Enterキーを押してください") InStr = Console.ReadLine() ' 文字列を整数に変換して配列に保存 zeikomiKakaku = Integer.Parse(inStr) ' 消費税額を求めて表示する Dim zeiGaku As Integer = 0 zeiGaku = CalucZeigaku(zeikomiKakaku) Console.WriteLine("消費税は" & zeiGaku & "円です") End Sub '*************************************************************** ' 機能:消費税額を計算する関数 ' 引数:税込価格 ' 戻値:消費税額 '******1*********2*********3*********4*********5**********6***** Public Function CalucZeigaku(ByVal zeikomiKakaku As Integer) As Integer Dim retZeigaku As Integer = 0 ' リターン値 ' 消費税額を求めて表示する Dim hontaiKakaku As Integer = 0 hontaiKakaku = zeikomiKakaku / 1.08 ' 本体価格は四捨五入 retZeigaku = zeikomiKakaku - hontaiKakaku ' ◆戻値を設定してリターン Return retZeigaku End Function End Module