Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. Using Else with blank If

Using Else with blank If

Scheduled Pinned Locked Moved The Weird and The Wonderful
linuxhelp
24 Posts 17 Posters 26 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • G Graham Bradshaw

    Well, if the condition is to test the equality of two variables,

    bool b;

    if (x = y)
    {
    b = true;
    }
    else
    {
    b = false;
    }

    will give you a compiler warning, and

    bool b = (x = y);

    will not. (Note the assignment vs equality test bug)

    R Offline
    R Offline
    Roger Bamforth
    wrote on last edited by
    #21

    That's a good point and is actually something that had never occurred to me. However, whether or not you get a warning depends upon the types of x, y and b is not as simple as it seems. It is probably also language and compiler dependant. e.g in Visual C++

    bool x = true;
    bool y = true;
    bool b = (x = y);
    

    gives no warning, as you say, but

    int x = true;
    int y = true;
    bool b = (x = y);
    

    does generate a warning (forcing an int to be a bool) and

    int x = true;
    int y = true;
    BOOL b = (x = y);
    

    doesn't.

    Regards - Roger

    1 Reply Last reply
    0
    • M Marcus J Smith

      This is so minor it probably is a non issue but it bugs me.

      If blnFlag = False Then
      'Good
      Else
      Continue
      End If

      This happens alot but I believe it is better to say

      If blnFlag = True Then
      Continue
      End If


      CleaKO

      "I think you'll be okay here, they have a thin candy shell. 'Surprised you didn't know that." - Tommy Boy
      "Fill it up again! Fill it up again! Once it hits your lips, it's so good!" - Frank the Tank (Old School)

      E Offline
      E Offline
      Ennis Ray Lynch Jr
      wrote on last edited by
      #22

      If there is a complicated method and I want to indicate that I did indeed accomodate both possibilities I will, ocassionaly, leave a blank if. However, I almost never check a boolean variable against a boolean and instead prefer : if(isFlagSet){ //Some commented out code or not about //Why not used } else if(!isFlagSet){ //Some Actual code ... } else{ //File Not Found } Just kidding with the File not found!


      File Not Found

      1 Reply Last reply
      0
      • M Marcus J Smith

        I think it is just easier to read when you say say what you want it to equal.

        If boolean = True

        instead of just saying

        If boolean

        I just couldnt think of a good example but what I was getting at is really saying something like

        If strType = "GOOD" OrElse strType = "COOL" Then
        'Good Record
        Else
        blnError = True
        End If

        instead of saying

        If strType <> "GOOD" AndAlso strType <> "COOL" Then
        blnError = True
        End If


        CleaKO

        "I think you'll be okay here, they have a thin candy shell. 'Surprised you didn't know that." - Tommy Boy
        "Fill it up again! Fill it up again! Once it hits your lips, it's so good!" - Frank the Tank (Old School)

        P Offline
        P Offline
        peterchen
        wrote on last edited by
        #23

        boolean = True but that's a boolean expression again, which could be true.. or false. So to make absoultely clear you want b = true to be true (not false), you write If (boolean = True) = True lather, rinse, repeat :rolleyes:


        Developers, Developers, Developers, Developers, Developers, Developers, Velopers, Develprs, Developers!
        We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
        Linkify!|Fold With Us!

        1 Reply Last reply
        0
        • G Graham Bradshaw

          Well, if the condition is to test the equality of two variables,

          bool b;

          if (x = y)
          {
          b = true;
          }
          else
          {
          b = false;
          }

          will give you a compiler warning, and

          bool b = (x = y);

          will not. (Note the assignment vs equality test bug)

          D Offline
          D Offline
          D111
          wrote on last edited by
          #24

          Shouldn't it be: bool b = (x == y); ---------- bool b = (x = y); would set x to y and then b to x

          --- The sum of the intelligence of the world is constant. The total number of people is always increasing.

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • World
          • Users
          • Groups