2

私はVBは言うまでもなく、OOP全体が初めてです。条件を組み合わせて、次の 4 行を 2 行にしようとしています。

ElseIf GA_URI.StartsWith("/home/index") Then
    gaCategory = cat_splash

ElseIf GA_URI = "/games" Then
    gaCategory = cat_splash

私はこれを試しました:

ElseIf GA_URI.StartsWith("/home/index") And GA_URI = "/games" Then
    gaCategory = cat_splash

しかし、機能していません。どんな助けでも大歓迎です

4

6 に答える 6

4

OrElseをお勧めします。これにより、短絡をより効率的に行うことができます(両方の式を評価する必要はありません):

ElseIf GA_URI.StartsWith("/home/index") OrElse GA_URI = "/games" Then
   gaCategory = cat_splash

アップデート:

Q: これは 2 つ以上の式で機能しますか? 3つ以上持っている場合もあるので

もちろん:

ElseIf GA_URI.StartsWith("/home/index") OrElse 
    (GA_URI = "/games" OrElse GA_URI = "/foo")
Then 
     gaCategory = cat_splash
...

続けることもできますが (括弧式)、ある時点でSelect...Case進むべき道になります。

于 2013-05-15T12:21:42.870 に答える
3

And を Or に置き換えて、次のように記述できます。

         ElseIf GA_URI.StartsWith("/home/index") Or GA_URI = "/games" Then
       gaCategory = cat_splash

ifGA_URI starts with /home/indexまたはGA_URI is /gamesthen が必要な場合は gaCategory = cat_splash が必要なため、 を使用する必要がありますOR instead of And。いずれかの条件が true であることを検証してから、gaCategory = cat_splashを割り当てます。

于 2013-05-15T12:02:07.137 に答える
3

OR を使用する必要があります。両方の場所にすることはできません

ElseIf GA_URI.StartsWith("/home/index") Or GA_URI = "/games" Then
   gaCategory = cat_splash

"/home/index"AND を使用することで、 AND でなければならない で始まる必要があると言っています"/games"。まあ、これは決して真実ではありません。

OR に変更することで、OR で開始できることを意味し"/home/index"ます"/games"

于 2013-05-15T12:02:09.227 に答える
2

Andの代わりにOrを試す

ElseIf GA_URI.StartsWith("/home/index") Or GA_URI = "/games" Then
    gaCategory = cat_splash
于 2013-05-15T12:03:22.560 に答える
2

これはどう:

ElseIf GA_URI.StartsWith("/home/index") Or GA_URI = "/games" Then
    gaCategory = cat_splash
于 2013-05-15T12:02:16.607 に答える
2
ElseIf GA_URI.StartsWith("/home/index") OR GA_URI = "/games" Then
    gaCategory = cat_splash

パスは一度に 1 つしか指定できないため、確実にうまくいくでしょう。

于 2013-05-15T12:02:41.370 に答える