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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. The Lounge
  3. Quick C# quiz

Quick C# quiz

Scheduled Pinned Locked Moved The Lounge
csharphtmlquestion
45 Posts 15 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.
  • Sander RosselS Sander Rossel

    honey the codewitch wrote:

    does this refer to an invocation of the method foo? or an invocation of the delegate instance referred to by the variable or argument foo?

    It's the latter which I know because of casing. If it were the former surely it would be Foo("bar"); :D Oh, but I forgot, style isn't important and we can forget about consistency. We write for compilers and they can read it just fine :doh:

    Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

    honey the codewitchH Offline
    honey the codewitchH Offline
    honey the codewitch
    wrote on last edited by
    #15

    do you REALLY want me to enforce title casing for methods vs fields? because I can do that, and it makes my job a HELL of a lot easier.

    When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

    Sander RosselS P S 3 Replies Last reply
    0
    • enhzflepE enhzflep

      I wonder if the fact that the notion of successfully creating useful output isn't mentioned, is relevant? I'm sure it would be perfectly happy to tell you whereabouts the input file contained text that wasn't C compliant. In that case, I'd say that it did in fact work just fine with what you gave it. That you gave it C# when it has a dietary restriction that only allows it to consume C is irrelevant. The pre-processor still ran and exited without an error code, a crash or undefined behaviour. Reasonable people call them Semantics, others think that Symantec's is about tiny differences in language, rather than a word that implies ownership by the Symantec company.. Going to be interesting to see what the answer is on this one. :)

      honey the codewitchH Offline
      honey the codewitchH Offline
      honey the codewitch
      wrote on last edited by
      #16

      "Everything is exactly as useful as you make it." - Hacker lore "Everything is exactly as real as it is useful." - Honey the Monster. :cool:

      When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

      1 Reply Last reply
      0
      • L Lost User

        #define then { #define endif } lets make C really basic so anyone can do it Edit: more complete #define IF if ( #define THEN ) { #define ELSE } else { #define ENDIF }

        this internet has become nothing but fake news. ... time to fix it, time to get back to the fax!

        honey the codewitchH Offline
        honey the codewitchH Offline
        honey the codewitch
        wrote on last edited by
        #17

        I've killed for less

        When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

        1 Reply Last reply
        0
        • honey the codewitchH honey the codewitch

          do you REALLY want me to enforce title casing for methods vs fields? because I can do that, and it makes my job a HELL of a lot easier.

          When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

          Sander RosselS Offline
          Sander RosselS Offline
          Sander Rossel
          wrote on last edited by
          #18

          I was thinking of this conversation of a while back: The Lounge[^] Unfortunately, not everyone agreed with me and so they were wrong ;) I won't mention names (although it's quite easy to look up), but someone literally said "Style is not important because you're writing code for compiler to read, not for developers." And here you are wondering what the hell you're looking at while I would be absolutely sure (in my own code) because I CARE ABOUT STYLE! :cool: I wouldn't mind enforcing PascalCase for methods and camelCase for fields and variables :)

          Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

          honey the codewitchH 1 Reply Last reply
          0
          • Sander RosselS Sander Rossel

            I was thinking of this conversation of a while back: The Lounge[^] Unfortunately, not everyone agreed with me and so they were wrong ;) I won't mention names (although it's quite easy to look up), but someone literally said "Style is not important because you're writing code for compiler to read, not for developers." And here you are wondering what the hell you're looking at while I would be absolutely sure (in my own code) because I CARE ABOUT STYLE! :cool: I wouldn't mind enforcing PascalCase for methods and camelCase for fields and variables :)

            Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

            honey the codewitchH Offline
            honey the codewitchH Offline
            honey the codewitch
            wrote on last edited by
            #19

            I agree with SuperLloyd in that discussion. Context is everything.

            When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

            Sander RosselS 1 Reply Last reply
            0
            • honey the codewitchH honey the codewitch

              I agree with SuperLloyd in that discussion. Context is everything.

              When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #20

              Message analysis complete. Found 1 error in "I agree with SuperLloyd" on line 1 column 0. Suggested fix: change "SuperLloyd" to "Sander". Compilation failed.

              Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

              honey the codewitchH 1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                Message analysis complete. Found 1 error in "I agree with SuperLloyd" on line 1 column 0. Suggested fix: change "SuperLloyd" to "Sander". Compilation failed.

                Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                honey the codewitchH Offline
                honey the codewitchH Offline
                honey the codewitch
                wrote on last edited by
                #21

                I admire your self confidence. When even the compiler disagrees with you, you know you've won.

                When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                Sander RosselS 1 Reply Last reply
                0
                • honey the codewitchH honey the codewitch

                  I admire your self confidence. When even the compiler disagrees with you, you know you've won.

                  When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                  Sander RosselS Offline
                  Sander RosselS Offline
                  Sander Rossel
                  wrote on last edited by
                  #22

                  I'm so confident I file a bug report when the compiler refuses to compile MY code :laugh: Inspired by Chuck Norris, who doesn’t get compiler errors, the language changes itself to accommodate. Seriously though, style is (somewhat) important and I think your question is a great example of how having consistent styling can make reading code so much more easy :) You're probably wondering because you somehow need to parse/lex/tokenize it, in which case the other person was right, you write for compilers (maybe that's what he meant) :laugh:

                  Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                  honey the codewitchH 1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    I'm so confident I file a bug report when the compiler refuses to compile MY code :laugh: Inspired by Chuck Norris, who doesn’t get compiler errors, the language changes itself to accommodate. Seriously though, style is (somewhat) important and I think your question is a great example of how having consistent styling can make reading code so much more easy :) You're probably wondering because you somehow need to parse/lex/tokenize it, in which case the other person was right, you write for compilers (maybe that's what he meant) :laugh:

                    Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                    honey the codewitchH Offline
                    honey the codewitchH Offline
                    honey the codewitch
                    wrote on last edited by
                    #23

                    That's because Chuck Norris doesn't code in C++, C++ codes in Chuck Norris. Style is important and if I had my way I'd make my little parser enforce my own naming conventions as it would be a bit easier on me. But I'm not here for that. I'm here for you and I each being able to use this thing how we want, even while fighting with each other over how to use it properly. :laugh: I used to use hungarian notation. Now I've evolved to not bother with that, and instead focus on other things because of tools like intellisense. I always try to code in a way that works well with the tools I use and that looks at home with the tools I use. That's why I adopt different naming styles and even coding guidelines depending on context. My C++ library code uses different conventions than my other C++ code which uses different conventions than my C# code which uses different conventions than my java code, etc. My XML naming styles are different depending on context, and json naming style tends to be camelCase. Context is everything.

                    When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                    Sander RosselS 1 Reply Last reply
                    0
                    • honey the codewitchH honey the codewitch

                      That's because Chuck Norris doesn't code in C++, C++ codes in Chuck Norris. Style is important and if I had my way I'd make my little parser enforce my own naming conventions as it would be a bit easier on me. But I'm not here for that. I'm here for you and I each being able to use this thing how we want, even while fighting with each other over how to use it properly. :laugh: I used to use hungarian notation. Now I've evolved to not bother with that, and instead focus on other things because of tools like intellisense. I always try to code in a way that works well with the tools I use and that looks at home with the tools I use. That's why I adopt different naming styles and even coding guidelines depending on context. My C++ library code uses different conventions than my other C++ code which uses different conventions than my C# code which uses different conventions than my java code, etc. My XML naming styles are different depending on context, and json naming style tends to be camelCase. Context is everything.

                      When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                      Sander RosselS Offline
                      Sander RosselS Offline
                      Sander Rossel
                      wrote on last edited by
                      #24

                      honey the codewitch wrote:

                      That's why I adopt different naming styles and even coding guidelines depending on context. My C++ library code uses different conventions than my other C++ code which uses different conventions

                      I could agree there if I (and my team) always used the same tools. Which I (and formerly, we) do, so my style is adjusted to VS2012+. If I sometimes used VS2019 and other times VS Code and they somehow had different styles then I'd still stick with one style.

                      honey the codewitch wrote:

                      C# code which uses different conventions than my java code, etc. My XML naming styles are different depending on context, and json naming style tends to be camelCase

                      That's just common sense. Or did you think me some barbarian who uses PascalCasing in JavaScript as well!? :wtf: I've seen JavaScript written like it was C# and it really hurts the senses :sigh:

                      Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                      honey the codewitchH 1 Reply Last reply
                      0
                      • Sander RosselS Sander Rossel

                        honey the codewitch wrote:

                        That's why I adopt different naming styles and even coding guidelines depending on context. My C++ library code uses different conventions than my other C++ code which uses different conventions

                        I could agree there if I (and my team) always used the same tools. Which I (and formerly, we) do, so my style is adjusted to VS2012+. If I sometimes used VS2019 and other times VS Code and they somehow had different styles then I'd still stick with one style.

                        honey the codewitch wrote:

                        C# code which uses different conventions than my java code, etc. My XML naming styles are different depending on context, and json naming style tends to be camelCase

                        That's just common sense. Or did you think me some barbarian who uses PascalCasing in JavaScript as well!? :wtf: I've seen JavaScript written like it was C# and it really hurts the senses :sigh:

                        Best, Sander sanderrossel.com Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

                        honey the codewitchH Offline
                        honey the codewitchH Offline
                        honey the codewitch
                        wrote on last edited by
                        #25

                        We at least agree on that much, bracing notwithstanding

                        When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                        1 Reply Last reply
                        0
                        • honey the codewitchH honey the codewitch

                          do you REALLY want me to enforce title casing for methods vs fields? because I can do that, and it makes my job a HELL of a lot easier.

                          When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                          P Offline
                          P Offline
                          PIEBALDconsult
                          wrote on last edited by
                          #26

                          Privates get lower-case; all others get Pascal casing,

                          1 Reply Last reply
                          0
                          • B BillWoodruff

                            PIEBALDconsult wrote:

                            The C pre-processor works just fine with C# code.

                            That's very interesting; please say more.

                            «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

                            P Offline
                            P Offline
                            PIEBALDconsult
                            wrote on last edited by
                            #27

                            For instance: Implanting Common Code in Unrelated Classes[^]

                            B 1 Reply Last reply
                            0
                            • P PIEBALDconsult

                              For instance: Implanting Common Code in Unrelated Classes[^]

                              B Offline
                              B Offline
                              BillWoodruff
                              wrote on last edited by
                              #28

                              Thanks, for your educational response ! The article, and comments/discussion, was interesting; imho, the technique you show is too esoteric for someone who is not C/C++ highly literate, like me. I am reminded, by your article, of using a factory class to spit out different flavors of stuff depending on input parameters/types. cheers, Bill

                              «One day it will have to be officially admitted that what we have christened reality is an even greater illusion than the world of dreams.» Salvador Dali

                              1 Reply Last reply
                              0
                              • honey the codewitchH honey the codewitch

                                foo("bar");

                                does this refer to an invocation of the method foo? or an invocation of the delegate instance referred to by the variable or argument foo? *headdesk* C# is massively ambiguous without having type information, so now I get to write a visitor to "patch up" the code dom with type information. So basically i always create these expressions as delegate invocations, but then i have to go back through later and find types, so I can change the right ones to method invocations instead. I know C family languages require type information to parse (which is unfortunate) but C# takes it to another level. In for a penny, in for a pound I guess.

                                When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                                J Offline
                                J Offline
                                JohaViss61
                                wrote on last edited by
                                #29

                                It is the C# equivalent of FUBAR. It means, just like the body bags coming from Vietnam, do not open. (the Class)

                                1 Reply Last reply
                                0
                                • honey the codewitchH honey the codewitch

                                  foo("bar");

                                  does this refer to an invocation of the method foo? or an invocation of the delegate instance referred to by the variable or argument foo? *headdesk* C# is massively ambiguous without having type information, so now I get to write a visitor to "patch up" the code dom with type information. So basically i always create these expressions as delegate invocations, but then i have to go back through later and find types, so I can change the right ones to method invocations instead. I know C family languages require type information to parse (which is unfortunate) but C# takes it to another level. In for a penny, in for a pound I guess.

                                  When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                                  S Offline
                                  S Offline
                                  Stuart Dootson
                                  wrote on last edited by
                                  #30

                                  I have a suspicion that C++ is equally reliant (possibly more so when you get templates involved) on type information ```C++ int a(int x) { return x + 1; } auto b = [](int y) -> int { return y + 1; }; struct C { int operator()(int z) const { return z + 1; } }; C c; class D { int d(int x) const { return x + 1; } static int e(int x) { return x + 1; } public: void do_stuff(int a_number) { a_number = a(a_number); a_number = b(a_number); a_number = c(a_number); a_number = d(a_number); a_number = e(a_number); y = a_number; } int y; }; ``` 5 'callable things', all of which meet the [C++20 `invocable` concept](https://en.cppreference.com/w/cpp/concepts/invocable), but are of different types (Yes, `d` can only be called as if it has one parameter from the context of a method of `D` or a derived class, but that's the example context I've used!). And then if you use `if constexpr`, that will also impact how you interpret the program: ```C++ template struct bit_field_t { : : // Other methods : : auto get_value(uint32_t from_field) { if constexpr (Size == 1) { // Return a Boolean if Size == 1 return (field & (1<>Offset) & ((1< 1 | x -> x * fac x (* even and odd are inferred to have type int -> int *) let rec even n = match n with | 0 -> true

                                  1 Reply Last reply
                                  0
                                  • honey the codewitchH honey the codewitch

                                    do you REALLY want me to enforce title casing for methods vs fields? because I can do that, and it makes my job a HELL of a lot easier.

                                    When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                                    S Offline
                                    S Offline
                                    Stuart Dootson
                                    wrote on last edited by
                                    #31

                                    Some languages *do* use casing to differentiate between different classes of name. Haskell requires types to start with an upper-case letter, values (and functions are just values of course) to start with a lower-case letter and if you stray away from that, a compiler error is raised. Rust has a convention with similar rules, but raises a warning not an error if you break it.

                                    Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                                    honey the codewitchH 1 Reply Last reply
                                    0
                                    • L Lost User

                                      #define then { #define endif } lets make C really basic so anyone can do it Edit: more complete #define IF if ( #define THEN ) { #define ELSE } else { #define ENDIF }

                                      this internet has become nothing but fake news. ... time to fix it, time to get back to the fax!

                                      E Offline
                                      E Offline
                                      englebart
                                      wrote on last edited by
                                      #32

                                      Chanting: ELSEIF ELSEIF ...

                                      1 Reply Last reply
                                      0
                                      • S Stuart Dootson

                                        Some languages *do* use casing to differentiate between different classes of name. Haskell requires types to start with an upper-case letter, values (and functions are just values of course) to start with a lower-case letter and if you stray away from that, a compiler error is raised. Rust has a convention with similar rules, but raises a warning not an error if you break it.

                                        Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

                                        honey the codewitchH Offline
                                        honey the codewitchH Offline
                                        honey the codewitch
                                        wrote on last edited by
                                        #33

                                        and i otherwise love haskell but i'm not a fan of that.

                                        When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

                                        1 Reply Last reply
                                        0
                                        • honey the codewitchH honey the codewitch

                                          foo("bar");

                                          does this refer to an invocation of the method foo? or an invocation of the delegate instance referred to by the variable or argument foo? *headdesk* C# is massively ambiguous without having type information, so now I get to write a visitor to "patch up" the code dom with type information. So basically i always create these expressions as delegate invocations, but then i have to go back through later and find types, so I can change the right ones to method invocations instead. I know C family languages require type information to parse (which is unfortunate) but C# takes it to another level. In for a penny, in for a pound I guess.

                                          When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.

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

                                          Action fooAction ...

                                          It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                                          honey the codewitchH 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