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. General Programming
  3. C#
  4. break through 2 loops

break through 2 loops

Scheduled Pinned Locked Moved C#
15 Posts 8 Posters 0 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.
  • D Deresen

    Hey everyone, I would like to break through 2 loops with just one rule. Something like this:

    for(;;)//loop 1
    {
    for(;;)//loop 2
    {
    //do something to exit loop 1
    }
    }

    L Offline
    L Offline
    Lost User
    wrote on last edited by
    #3

    You can use break for the second loop and a boolean variable to be used inside the condition for loop 1 and set this to true from loop 2. regards

    1 Reply Last reply
    0
    • L Luc Pattyn

      Hi, there are several ways of breaking out of several loops: 1. change the state such that all the continuation tests will fail, and break (one way of achieving this is by adding a boolean test to each and every continuation test) 2. create a method that contains nothing but the loops, and return where you want to break out; 3. throw an exception and catch it where you need to. :)

      Luc Pattyn [Forum Guidelines] [My Articles]


      Love, happiness and fewer bugs for 2009!


      D Offline
      D Offline
      Deresen
      wrote on last edited by
      #4

      Yes I've thought of those options too, but I don't want to break with extra code, not even a boolean. With 'break;' you will exit one loop. But isn't there something like break * 2;

      N L 2 Replies Last reply
      0
      • D Deresen

        Yes I've thought of those options too, but I don't want to break with extra code, not even a boolean. With 'break;' you will exit one loop. But isn't there something like break * 2;

        N Offline
        N Offline
        N a v a n e e t h
        wrote on last edited by
        #5

        Deresen wrote:

        But isn't there something like break * 2;

        You will end up in goto.

        Navaneeth How to use google | Ask smart questions

        1 Reply Last reply
        0
        • D Deresen

          Yes I've thought of those options too, but I don't want to break with extra code, not even a boolean. With 'break;' you will exit one loop. But isn't there something like break * 2;

          L Offline
          L Offline
          Luc Pattyn
          wrote on last edited by
          #6

          Hi, No. Although there are languages that support break <count> C# isn't one of them. :)

          Luc Pattyn [Forum Guidelines] [My Articles]


          Love, happiness and fewer bugs for 2009!


          1 Reply Last reply
          0
          • L Luc Pattyn

            Hi, there are several ways of breaking out of several loops: 1. change the state such that all the continuation tests will fail, and break (one way of achieving this is by adding a boolean test to each and every continuation test) 2. create a method that contains nothing but the loops, and return where you want to break out; 3. throw an exception and catch it where you need to. :)

            Luc Pattyn [Forum Guidelines] [My Articles]


            Love, happiness and fewer bugs for 2009!


            R Offline
            R Offline
            Rob Philpott
            wrote on last edited by
            #7

            Luc Pattyn wrote:

            3. throw an exception and catch it where you need to.

            Exceptions to control program flow? Isn't that a crime?

            Regards, Rob Philpott.

            L CPalliniC 2 Replies Last reply
            0
            • R Rob Philpott

              Luc Pattyn wrote:

              3. throw an exception and catch it where you need to.

              Exceptions to control program flow? Isn't that a crime?

              Regards, Rob Philpott.

              L Offline
              L Offline
              Luc Pattyn
              wrote on last edited by
              #8

              Hi,

              Rob Philpott wrote:

              Exceptions to control program flow? Isn't that a crime?

              Not always. The OP didn't mention why nor how often he would break out of all loops. Exceptions always operate on program flow, they exist to make life easier and code more reliable. Not making good use of available means would be a crime. Depending on circumstances, one has to make a good choice, that is why I gave three possibilities. :)

              Luc Pattyn [Forum Guidelines] [My Articles]


              Love, happiness and fewer bugs for 2009!


              1 Reply Last reply
              0
              • L Luc Pattyn

                Hi, there are several ways of breaking out of several loops: 1. change the state such that all the continuation tests will fail, and break (one way of achieving this is by adding a boolean test to each and every continuation test) 2. create a method that contains nothing but the loops, and return where you want to break out; 3. throw an exception and catch it where you need to. :)

                Luc Pattyn [Forum Guidelines] [My Articles]


                Love, happiness and fewer bugs for 2009!


                CPalliniC Offline
                CPalliniC Offline
                CPallini
                wrote on last edited by
                #9

                4.use goto. :rolleyes: :)

                If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                [My articles]

                In testa che avete, signor di Ceprano?

                L 1 Reply Last reply
                0
                • R Rob Philpott

                  Luc Pattyn wrote:

                  3. throw an exception and catch it where you need to.

                  Exceptions to control program flow? Isn't that a crime?

                  Regards, Rob Philpott.

                  CPalliniC Offline
                  CPalliniC Offline
                  CPallini
                  wrote on last edited by
                  #10

                  Rob Philpott wrote:

                  Exceptions to control program flow? Isn't that a crime?

                  Nope, if the condition that breaks the loops is exceptional. :-D

                  If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                  This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                  [My articles]

                  In testa che avete, signor di Ceprano?

                  R 1 Reply Last reply
                  0
                  • CPalliniC CPallini

                    4.use goto. :rolleyes: :)

                    If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                    This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                    [My articles]

                    L Offline
                    L Offline
                    Luc Pattyn
                    wrote on last edited by
                    #11

                    Absolutely. That is covered by "Not making good use of available means would be a crime". :-D

                    Luc Pattyn [Forum Guidelines] [My Articles]


                    Love, happiness and fewer bugs for 2009!


                    D 1 Reply Last reply
                    0
                    • CPalliniC CPallini

                      Rob Philpott wrote:

                      Exceptions to control program flow? Isn't that a crime?

                      Nope, if the condition that breaks the loops is exceptional. :-D

                      If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
                      This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
                      [My articles]

                      R Offline
                      R Offline
                      Rob Philpott
                      wrote on last edited by
                      #12

                      Agreed. But use otherwise deserves a slap!

                      Regards, Rob Philpott.

                      1 Reply Last reply
                      0
                      • L Luc Pattyn

                        Absolutely. That is covered by "Not making good use of available means would be a crime". :-D

                        Luc Pattyn [Forum Guidelines] [My Articles]


                        Love, happiness and fewer bugs for 2009!


                        D Offline
                        D Offline
                        DaveyM69
                        wrote on last edited by
                        #13

                        Luc Pattyn wrote:

                        Absolutely

                        I agree, in fact this is the perfect example of when a goto may be the most appropriate. It can be a useful statement - it's only because it can be (and has been) wildly misused that it's frowned upon. :-D

                        Dave
                        BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                        Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                        D 1 Reply Last reply
                        0
                        • D Deresen

                          Hey everyone, I would like to break through 2 loops with just one rule. Something like this:

                          for(;;)//loop 1
                          {
                          for(;;)//loop 2
                          {
                          //do something to exit loop 1
                          }
                          }

                          H Offline
                          H Offline
                          HosamAly
                          wrote on last edited by
                          #14

                          If you were using Java, I'd say "break OuterLoop;" (by adding the label "OuterLoop:" before the outer loop). But since you're in C#, you need to do this:

                          for ( ; ; )
                          {
                          for ( ; ; )
                          {
                          goto EndOfLoop;
                          }
                          }
                          EndOfLoop:
                          // your code

                          (You may also check the second example in this[^] MSDN reference page, although I wouldn't like to see it in actual code!)

                          My LinkedIn Profile

                          1 Reply Last reply
                          0
                          • D DaveyM69

                            Luc Pattyn wrote:

                            Absolutely

                            I agree, in fact this is the perfect example of when a goto may be the most appropriate. It can be a useful statement - it's only because it can be (and has been) wildly misused that it's frowned upon. :-D

                            Dave
                            BTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)
                            Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia)

                            D Offline
                            D Offline
                            Deresen
                            wrote on last edited by
                            #15

                            I love the goto statement, so I will use it. It let's me think of the good times programming microcontrollers in assembly!!!

                            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