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. Nice usage of foreach

Nice usage of foreach

Scheduled Pinned Locked Moved The Weird and The Wonderful
19 Posts 12 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.
  • A Andrew Chan

    I once saw a programmer write this. foreach (User user in users) { return user; } :laugh:

    P Online
    P Online
    PIEBALDconsult
    wrote on last edited by
    #2

    If users provides only the IEnumerable interface then you kinda have to do that. We'd need to see more of the code to determine just how horrible it is.

    J D 2 Replies Last reply
    0
    • A Andrew Chan

      I once saw a programmer write this. foreach (User user in users) { return user; } :laugh:

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

      What is horrible about giving preferential treatment to the first user? By the time the app has more users, they probably will have introduced a new keyword yielding some attention to more recent customers... :)

      Luc Pattyn [Forum Guidelines] [My Articles]


      - before you ask a question here, search CodeProject, then Google - the quality and detail of your question reflects on the effectiveness of the help you are likely to get - use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets


      J 1 Reply Last reply
      0
      • P PIEBALDconsult

        If users provides only the IEnumerable interface then you kinda have to do that. We'd need to see more of the code to determine just how horrible it is.

        J Offline
        J Offline
        J4amieC
        wrote on last edited by
        #4

        IEnumerable.FirstOrDefault[^] aside of course.

        P C 2 Replies Last reply
        0
        • J J4amieC

          IEnumerable.FirstOrDefault[^] aside of course.

          P Online
          P Online
          PIEBALDconsult
          wrote on last edited by
          #5

          That's an Extension Method, not a member of IEnumerable, and therefore has no access to the underlying data; it is likely implemented the same way as the original post. X|

          J 1 Reply Last reply
          0
          • P PIEBALDconsult

            That's an Extension Method, not a member of IEnumerable, and therefore has no access to the underlying data; it is likely implemented the same way as the original post. X|

            J Offline
            J Offline
            J4amieC
            wrote on last edited by
            #6

            PIEBALDconsult wrote:

            likely implemented the same way as the original post.

            Which was exactly my point, i think :confused:

            1 Reply Last reply
            0
            • A Andrew Chan

              I once saw a programmer write this. foreach (User user in users) { return user; } :laugh:

              M Offline
              M Offline
              Marc Clifton
              wrote on last edited by
              #7

              You're sure it wasn't something like this?

              foreach (User user in users)
              {
              yield return user;
              }

              Marc

              Available for consulting and full time employment. Contact me. Interacx

              A R L 3 Replies Last reply
              0
              • M Marc Clifton

                You're sure it wasn't something like this?

                foreach (User user in users)
                {
                yield return user;
                }

                Marc

                Available for consulting and full time employment. Contact me. Interacx

                A Offline
                A Offline
                Andrew Chan
                wrote on last edited by
                #8

                Wow, I didn't know about the yield operator till now. Thanks for bringing this to my attention. :thumbsup: As for whether the code itself had a yield operator, it was so long ago I cannot remember. I'll give the programmer the benefit of the doubt.

                1 Reply Last reply
                0
                • L Luc Pattyn

                  What is horrible about giving preferential treatment to the first user? By the time the app has more users, they probably will have introduced a new keyword yielding some attention to more recent customers... :)

                  Luc Pattyn [Forum Guidelines] [My Articles]


                  - before you ask a question here, search CodeProject, then Google - the quality and detail of your question reflects on the effectiveness of the help you are likely to get - use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets


                  J Offline
                  J Offline
                  Jeremy Tierman
                  wrote on last edited by
                  #9

                  Just as long as it isn't alphabetical...I got tired of being at the end of the line in Elementary :-\

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    You're sure it wasn't something like this?

                    foreach (User user in users)
                    {
                    yield return user;
                    }

                    Marc

                    Available for consulting and full time employment. Contact me. Interacx

                    R Offline
                    R Offline
                    Rob Grainger
                    wrote on last edited by
                    #10

                    I think Luc may have been hinting at this - he'd better remember not to make such hints so subtle next time... "they probably will have introduced a new keyword yielding some attention to more recent customers..."

                    L P 2 Replies Last reply
                    0
                    • R Rob Grainger

                      I think Luc may have been hinting at this - he'd better remember not to make such hints so subtle next time... "they probably will have introduced a new keyword yielding some attention to more recent customers..."

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

                      :thumbsup:

                      Luc Pattyn [Forum Guidelines] [My Articles]


                      - before you ask a question here, search CodeProject, then Google - the quality and detail of your question reflects on the effectiveness of the help you are likely to get - use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets


                      1 Reply Last reply
                      0
                      • R Rob Grainger

                        I think Luc may have been hinting at this - he'd better remember not to make such hints so subtle next time... "they probably will have introduced a new keyword yielding some attention to more recent customers..."

                        P Online
                        P Online
                        PIEBALDconsult
                        wrote on last edited by
                        #12

                        Party pooper.

                        L 1 Reply Last reply
                        0
                        • P PIEBALDconsult

                          Party pooper.

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

                          :thumbsup::thumbsup:

                          Luc Pattyn [Forum Guidelines] [My Articles]


                          - before you ask a question here, search CodeProject, then Google - the quality and detail of your question reflects on the effectiveness of the help you are likely to get - use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets


                          1 Reply Last reply
                          0
                          • A Andrew Chan

                            I once saw a programmer write this. foreach (User user in users) { return user; } :laugh:

                            S Offline
                            S Offline
                            Soundman32 2
                            wrote on last edited by
                            #14

                            I have seen this when the array doesn't contain a indexing property. return users[0]; // Doesn't work I seem to remember this being the default behaviour for non generic Lists in early .net (2?).

                            J 1 Reply Last reply
                            0
                            • S Soundman32 2

                              I have seen this when the array doesn't contain a indexing property. return users[0]; // Doesn't work I seem to remember this being the default behaviour for non generic Lists in early .net (2?).

                              J Offline
                              J Offline
                              JasonPSage
                              wrote on last edited by
                              #15

                              I've seen that - and I've also done this "kludge" when I literally didn't have time to look it up: e.g. Must get done fast, bigger fish to fry.. this works - move on. Not ideal - but - depends what's going on.. schedule.. time constraints. It's still readable at least. --Jason

                              Know way to many languages... master of none!

                              1 Reply Last reply
                              0
                              • M Marc Clifton

                                You're sure it wasn't something like this?

                                foreach (User user in users)
                                {
                                yield return user;
                                }

                                Marc

                                Available for consulting and full time employment. Contact me. Interacx

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

                                hey 10x for teling abt yield operator

                                Ravie Busie Coding is my birth-right and bugs are part of feature my code has!

                                1 Reply Last reply
                                0
                                • J J4amieC

                                  IEnumerable.FirstOrDefault[^] aside of course.

                                  C Offline
                                  C Offline
                                  cpkilekofp
                                  wrote on last edited by
                                  #17

                                  J4amieC wrote:

                                  IEnumerable.FirstOrDefault[^] aside of course.

                                  If, in fact, you are using .NET 3.5, as otherwise this doesn't exist.

                                  1 Reply Last reply
                                  0
                                  • P PIEBALDconsult

                                    If users provides only the IEnumerable interface then you kinda have to do that. We'd need to see more of the code to determine just how horrible it is.

                                    D Offline
                                    D Offline
                                    dojohansen
                                    wrote on last edited by
                                    #18

                                    Ouch, you sure stepped in the salad! That code necessarily returns the first item in enumerating "users". Had it been a yield return things would be different though.

                                    P 1 Reply Last reply
                                    0
                                    • D dojohansen

                                      Ouch, you sure stepped in the salad! That code necessarily returns the first item in enumerating "users". Had it been a yield return things would be different though.

                                      P Online
                                      P Online
                                      PIEBALDconsult
                                      wrote on last edited by
                                      #19

                                      Ummm... yeah, so? :confused:

                                      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