Abi Arbeit - Select case / If else

  • Allgemein

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    Abi Arbeit - Select case / If else

    Guten Morgen liebe User,

    meine Freundin muss eine Abi Arbeit schreiben in der sie auch erklären muss was es für unterschiede zwischen Select Case und If gibt.

    Also das es viel Schneller ist, das konnte ich ihr auch aus dem Stehgreif sagen, nun fragen ich mich was es denn noch so gibt.

    Ich bitte wirklich um Hilfe,

    Daniel ?(
    Liebe Grüße,
    C.O.D.E

    Testautomatisierung (TA):

    5%
    Du findest meinen Beitrag Hilfreich? :thumbup: Dann drück auf Hilfreich!
    ahoi,

    also im select case kann man auch vergleichsoperatoren nutzen
    siehe hier

    einen gewissen unterschied sieht man wenn man sich die beiden verzweigungen im nassi ... -diagramm anschaut (struktogramm)
    die if ist daher eine einfachverzweigung also nur wenn ja oder nein ... (bsp. x = 5 -> ja: x+1 -> nein: x-1)
    die select case ist aber eine mehrfachverzweiung und kann mehr als nur true oder false ergeben
    also zb. abgefragt wird x
    dann wenn x=5 -> mache das
    wenn x=4 -> mache es anders
    wenn x=3 -> mache es so
    wenn x=2 -> dann doch lieber so
    sonst (also wenn keines der fälle zutrifft) -> mache sonstewas
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Select Case überprüft nur auf "=" (ist gleich) bei if kannst du auch "<" ">" "<>" usw. überprüfen.


    Nein ich glaube das ist falsch.

    VB.NET-Quellcode

    1. Dim n As Integer = 4
    2. Select Case n
    3. Case Is < 4
    4. 'Anweisung
    5. Case Is > 4
    6. 'Anweisung
    7. Case Is > 0
    8. 'Anweisung
    9. Case Else
    10. 'Wenn nichts davon zutrifft, führe das hier aus
    11. End Select



    link_275
    Hello World

    LucaWelker schrieb:

    Select Case überprüft nur auf "=" (ist gleich) bei if kannst du auch "<" ">" "<>" usw. überprüfen


    Das stimmt ja gar nicht O.o

    Du glaubst Select Case kann nur "=" verwenden?
    Was ist dann:

    VB.NET-Quellcode

    1. Dim x As Integer = CInt(TextBox1.Text)
    2. Dim y As Integer = CInt(TextBox2.Text)
    3. Select Case x
    4. Case Is = 1
    5. MsgBox("1")
    6. Case Is = y + 1
    7. MsgBox("y = " & (y + 1).ToString)
    8. Case Is > y
    9. MsgBox("x < y")
    10. Case Is < y
    11. MsgBox("y > x")
    12. Case Is <= y
    13. MsgBox("x <= y")
    14. Case Is >= y
    15. MsgBox("x >= y")
    16. Case Else
    17. MsgBox("else")
    18. End Select


    Edit: ToLate^^

    Mfg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...
    Eigentlich ist es ganz einfach:

    If then
    Spoiler anzeigen

    VB.NET-Quellcode

    1. If a = 1 Then ''Anweisung

    Du fragst einen Wert ab und wenn dieser zutrifft, wird deine Anweisung ausgeführt]

    If then else
    Spoiler anzeigen

    VB.NET-Quellcode

    1. If a = 1 Then
    2. ''Anweisung 1
    3. Else
    4. ''Anweisung 2
    5. End If
    Hier fragst du ebenfalls einen Wert ab, falls dieser zutrifft, wird Anweisung 1 ausgeführt, in allen anderen Fällen Anweisung2.

    Select Case
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Select Case a
    2. Case 1
    3. 'Anweisung 1
    4. Case 2
    5. 'Anweisung 2
    6. Case 3
    7. 'Anweisung 3
    8. Case 4
    9. 'Anweisung 4
    10. Case 5
    11. 'Anweisung 5
    12. Case Else
    13. 'Anweisung 6
    14. End Select
    Mit Select Case kannst du erwartete Ergebnisse abfragen und so genau darauf reagieren.
    Falls dein Wert nicht aufgezählt ist, führt er automatisch "Case else" aus.

    Natürlich kannst du das ganze auch mit einer If-Verschachtelung machen, das ist aber weniger übersichtlich und verwirrt:

    VB.NET-Quellcode

    1. If a = 1 Then
    2. 'Anweisung 1
    3. ElseIf a = 2 Then
    4. 'Anweisung 2
    5. ElseIf a = 3 Then
    6. 'Anweisung 3
    7. ElseIf a = 4 Then
    8. 'Anweisung 4
    9. ElseIf a = 5 Then
    10. 'Anweisung 5
    11. Else
    12. 'Anweisung 6
    13. End If
    Der Code bewirkt daselbe wie der oben, ausser das er weniger übersichtlich ist^^
    Jetzt hast du eine Übersicht.

    Mfg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Dancger“ ()

    Wusste gar nicht das es das gibt =P
    Werd ich mir merken :thumbsup:

    VB.NET-Quellcode

    1. Select Case a
    2. Case 1 to 9
    3. 'Anweisung 1
    4. Case else
    5. 'Anweisung 2
    6. End select


    Falls a zwischen 1 und 9 liegt, wird Anweisung 1 ausgeführt, ansonsten Anweosung 2.
    Sollte aber klar sein.

    Mfg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...
    bei Select Case wird ein einziger abgefragt, wie groß,klein,gleich ... er ist

    Bei If, EleseIf, Else kannst du auch ganz verschiedene Sachen angeben. z.B.:

    If TextBox.Text = "Grün" Then
    ...
    ElseIf y = 4 Then
    ...
    ElseIf RadioButton.Checked Then
    ...
    EndIf

    Gruß Einsteiger

    Einsteiger schrieb:

    bei Select Case wird ein einziger abgefragt, wie groß,klein,gleich ... er ist

    Bei If, EleseIf, Else kannst du auch ganz verschiedene Sachen angeben. z.B.:

    Klar, ist zwar nicht das leiche, aber mit den Operatoren "Or" und "And" kommst du auch schon recht weit.

    VB.NET-Quellcode

    1. Select Case a
    2. Case a = 0 And b = 2
    3. 'Anweisung 1
    4. Case a = 1 And b = 1
    5. 'Anweisung 2
    6. 'u.s.w..
    7. End select


    Mfg Dancger
    MESS WITH THE BEST, DIE LIKE THE REST! :evil:
    n'paar Links: DNS Tools, Steal WA DB, Droidsheep...
    des hat so doch keinen Sinn mehr, bei Select Case ist die Idee dass du EINEN Wert untersuchsch:

    Select Case a
    Case 3
    Case 4 To 9
    ...

    Außerdem soll es kürzer werden (was es iwie net isch):

    Select Case a
    Case a = 0 And b = 0

    If a = 0 And b= 0 Then

    Gruß Einsteiger
    ja einen wert aber auf mehrere zustände das sollte dabei nicht vergessen werden das ist wichtig bei der unterscheidung ...
    und ich glaube kaum das hier um weitere beispiele geht wenn die frage war was es denn ist

    mir stellt sich aber auch die frage wieviele unterschiede man aufzählen kann ohne bsp zu benutzten ...
    mir fällt nämlich auch nur einer ein und den habe ich oben beschrieben ...

    einfachverzweigung <-> mehrfachverzweigung
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de