none
VB2017 Select Caseの個々の条件 RRS feed

  • 質問

  • お世話になります。

    Select Case X

      Case 3の倍数                '0,3,6,--------- 

      Case 3の倍数+1            '1,4,7,----------

      Case 3の倍数+2            '2,5,8,----------

    End Select

     このような方法はありますでしょうか。初歩的な質問で申し訳ありませんが、よろしくお願いいたします。

    あるいは何か別の方法がありますでしょうか。

    2018年4月6日 6:55

回答

  • ご希望の書き方を満たしているかどうかわかりませんが、下記の2通りの書き方が思いつきました。

    Dim X As Integer = 100 ' 対象の数
    
    Select Case True
    
        Case X Mod 3 = 0
            Console.WriteLine("{0} は3の倍数", X)
    
        Case X Mod 3 = 1
            Console.WriteLine("{0} は3の倍数+1", X)
    
        Case X Mod 3 = 2
            Console.WriteLine("{0} は3の倍数+2", X)
    
    End Select

    ↑ Case 句 で True となるステートメントが実行される

    Dim X As Integer = 100 ' 対象の数
    
    Select Case (X Mod 3)
    
        Case 0
            Console.WriteLine("{0} は3の倍数", X)
    
        Case 1
            Console.WriteLine("{0} は3の倍数+1", X)
    
        Case 2
            Console.WriteLine("{0} は3の倍数+2", X)
    
    End Select

    ↑ 初めの Select で剰余を渡す

    参考サイト: http://smdn.jp/programming/vb.net/statement_select_case/

    2018年4月6日 7:25

すべての返信

  • ご希望の書き方を満たしているかどうかわかりませんが、下記の2通りの書き方が思いつきました。

    Dim X As Integer = 100 ' 対象の数
    
    Select Case True
    
        Case X Mod 3 = 0
            Console.WriteLine("{0} は3の倍数", X)
    
        Case X Mod 3 = 1
            Console.WriteLine("{0} は3の倍数+1", X)
    
        Case X Mod 3 = 2
            Console.WriteLine("{0} は3の倍数+2", X)
    
    End Select

    ↑ Case 句 で True となるステートメントが実行される

    Dim X As Integer = 100 ' 対象の数
    
    Select Case (X Mod 3)
    
        Case 0
            Console.WriteLine("{0} は3の倍数", X)
    
        Case 1
            Console.WriteLine("{0} は3の倍数+1", X)
    
        Case 2
            Console.WriteLine("{0} は3の倍数+2", X)
    
    End Select

    ↑ 初めの Select で剰余を渡す

    参考サイト: http://smdn.jp/programming/vb.net/statement_select_case/

    2018年4月6日 7:25
  • ありがとうございます。

    大変助かりました。

    2018年4月6日 7:42