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. Clever Code
  4. Skipping an iteration, not the loop

Skipping an iteration, not the loop

Scheduled Pinned Locked Moved Clever Code
sharepoint
15 Posts 10 Posters 8 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.
  • L Lost User

    I had some code that would enumerate through sharepoint lists in a subsite, and i had my code skip out if the list was not the one i was looking for. Code looked something like this: if (node.Attributes["Title"] != "Announcements") break; thinking dumbly that with the 'break' clause it would cut out of the loop and go to the next item. But then I finally realized that it was only iterating once before breaking out of the loop entirely, but only after having gone through every single line of code presceding that little if statement, attempting to find the logic errors in the view identification and credentials and other queries on the desired list. After all that work, I realized all I needed to do was change 'break' to 'continue'...

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

    Be glad goto's are strongly frowned on. I do not miss my VB6 days.


    Need a C# Consultant? I'm available.
    Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

    B V C 3 Replies Last reply
    0
    • B Brady Kelly

      More often than not, I get #1. As they arrive, I see my stupid error, but I don't apologise, I just thank them. I wasn't wasting their time, because if I didn't call them, I wouldn't have seen the bug.

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

      Only problem being, that I don't work with anyone else that knows how to code :(. Everyone else is just IT, install and repair.. I do all the code.

      C 1 Reply Last reply
      0
      • L Lost User

        Only problem being, that I don't work with anyone else that knows how to code :(. Everyone else is just IT, install and repair.. I do all the code.

        C Offline
        C Offline
        codemunch
        wrote on last edited by
        #7

        That's the beauty of it - wether they can code or not is irrelevant :) The bug always manifests itself with this technique.

        1 Reply Last reply
        0
        • E Ennis Ray Lynch Jr

          Be glad goto's are strongly frowned on. I do not miss my VB6 days.


          Need a C# Consultant? I'm available.
          Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

          B Offline
          B Offline
          Brady Kelly
          wrote on last edited by
          #8

          A well placed label and a goto are no different to a 'continue'. Even 'continue' can be frowned upon in some places. Your conditional should take care of all loop exits blah blah blah.

          E 1 Reply Last reply
          0
          • Mike HankeyM Mike Hankey

            Sometimes its the simplist things that mess us up. I've spent hours chasing a bug just to find it was something very simple and was right in front of me. "Theres no place like home....." Mike

            Life is not measured by the number of breaths we take, but by the moments that take our breath away. "George Carlin"

            V Offline
            V Offline
            Vasudevan Deepak Kumar
            wrote on last edited by
            #9

            Mike Hankey wrote:

            something very simple and was right in front of me

            True. Sometimes the innocuous looking little semicolon right under the nose would play the game of a rat and the cat. :-D

            Vasudevan Deepak Kumar Personal Homepage Tech Gossips

            1 Reply Last reply
            0
            • E Ennis Ray Lynch Jr

              Be glad goto's are strongly frowned on. I do not miss my VB6 days.


              Need a C# Consultant? I'm available.
              Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

              V Offline
              V Offline
              Vasudevan Deepak Kumar
              wrote on last edited by
              #10

              Ennis Ray Lynch, Jr. wrote:

              I do not miss my VB6 days

              :confused:

              Vasudevan Deepak Kumar Personal Homepage Tech Gossips

              B 1 Reply Last reply
              0
              • V Vasudevan Deepak Kumar

                Ennis Ray Lynch, Jr. wrote:

                I do not miss my VB6 days

                :confused:

                Vasudevan Deepak Kumar Personal Homepage Tech Gossips

                B Offline
                B Offline
                Brady Kelly
                wrote on last edited by
                #11

                Do you?

                1 Reply Last reply
                0
                • B Brady Kelly

                  A well placed label and a goto are no different to a 'continue'. Even 'continue' can be frowned upon in some places. Your conditional should take care of all loop exits blah blah blah.

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

                  That is a debate I suppose. However, I think break and continue are more self-evident than the corresponding code to terminate a loop early. Of course you qualified your label and goto statement with well placed. The problem was never with well placed labels and goto's as assembly language requires it the problem is non-well placed resulting in spaghetti.


                  Need a C# Consultant? I'm available.
                  Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

                  1 Reply Last reply
                  0
                  • L Lost User

                    I had some code that would enumerate through sharepoint lists in a subsite, and i had my code skip out if the list was not the one i was looking for. Code looked something like this: if (node.Attributes["Title"] != "Announcements") break; thinking dumbly that with the 'break' clause it would cut out of the loop and go to the next item. But then I finally realized that it was only iterating once before breaking out of the loop entirely, but only after having gone through every single line of code presceding that little if statement, attempting to find the logic errors in the view identification and credentials and other queries on the desired list. After all that work, I realized all I needed to do was change 'break' to 'continue'...

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

                    Another simple solution, if continue isn't available, is to put everything inside the loop into a method that gets passed any objects (like records or arrays) needed from the loop for processing. Then you can issue a return when you are finished processing that record and the loop will process the next record, skipping over the rest of the method. It also has the advantage of being readily understood by the newbie programmers who might have to maintain your code later.

                    1 Reply Last reply
                    0
                    • E Ennis Ray Lynch Jr

                      Be glad goto's are strongly frowned on. I do not miss my VB6 days.


                      Need a C# Consultant? I'm available.
                      Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

                      C Offline
                      C Offline
                      Collin Parker
                      wrote on last edited by
                      #14

                      You're alone on that one.

                      1 Reply Last reply
                      0
                      • Mike HankeyM Mike Hankey

                        Sometimes its the simplist things that mess us up. I've spent hours chasing a bug just to find it was something very simple and was right in front of me. "Theres no place like home....." Mike

                        Life is not measured by the number of breaths we take, but by the moments that take our breath away. "George Carlin"

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

                        Mike Hankey wrote:

                        "Theres no place like home....."

                        No, there is home itself, at least. :-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.

                        In testa che avete, signor di Ceprano?

                        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