|
■No87802 (ヤンゴン さん) に返信 > integerの引数を受け取って、 > 1なら0、0なら1 を返す関数ってありますか?
そのような関数があったとして、もしも「1 でも 0 でも無い値」が 渡された場合に、どのような結果になってほしいのでしょうか?
『関数』であることにこだわらないのであれば、たとえば Public ヤンゴン() As Integer = New Integer() {1, 0} などを用意しておけば、利用する側としては関数っぽくなりますが…。
Dim a As Integer = ヤンゴン(0) 'a には 1 がセットされる Dim b As Integer = ヤンゴン(1) 'b には 0 がセットされる
それ以外の方法としては……「1 でも 0 でも無い値」に対する要件次第ですが、 「If 三項演算子」「IIf 関数」「Choose 関数」などを使う手もあります。
とりあえず 4 パターン程上げておきます。
Dim w As Integer = Math.Abs(1 - value) Dim x As Integer = CInt(Choose(value + 1, 1, 0)) Dim y As Integer = CInt(IIf(value = 0, 1, 0)) Dim z As Integer = If(value = 0, 1, 0)
|