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. The Lounge
  3. What Language Features Do You Miss In C#?

What Language Features Do You Miss In C#?

Scheduled Pinned Locked Moved The Lounge
csharpjavascriptcomquestiondiscussion
102 Posts 36 Posters 1 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.
  • F Florian Rappl

    What you mean "So"? goto is just goto - so that statement that it's different is wrong.

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

    The concept is different.

    F 1 Reply Last reply
    0
    • M Marc A Brown

      I already knew about (and use) that type of fallthrough (but thanks for pointing it out anyway). I'm talking about a case (no pun intended) where you have an action to perform in two cases that requires some kind of setup in one of the cases but not the other.

      switch(whichAction)
      {
      case Actions.ActionWithSetup:
      DoSetup();
      case Actions.Action:
      DoAction();
      break;
      }

      In this example, in the one case, DoSetup is performed, followed by DoAction; in the other case only DoAction is performed. You can do this in C (and Java as I recall) but not in C#. I'm fine with the language not allowing the fallthrough to happen unintentionally but think there should be a keyword to allow it. For example:

      switch(whichAction)
      {
      case Actions.ActionWithSetup:
      DoSetup();
      nobreak;
      case Actions.Action:
      DoAction();
      break;
      }

      I realize that in my example I could simply call DoAction in both cases (and that's what I would do, given the C# limitation); and I also understand that if I've got a block of code in the second case, I can break it out into a separate method and call that method in both cases (which again is what I would do); however, if it's a really small block of code, I don't necessarily want to create a new method for it or duplicate the code.

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

      Yes, or what I frequently need:

      assign default values ;

      switch ( args.Length )
      {
      case 4 : parse parameter 4 ;
      case 3 : parse parameter 3 ;
      case 2 : parse parameter 2 ;
      case 1 : parse parameter 1 ;
      default : do something ;
      }

      1 Reply Last reply
      0
      • J Jasmine2501

        THROWS, as an optional declaration. I would like the following... public void myfunction(int x) throws ArgumentException, OverflowException { } And, Java needs the other form of throws too, which I'd like to see in C# public void myfunction(int x) throws NONE { } ... for methods which can't throw exceptions.

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

        But you can't know what may be thrown by something it calls, so I don't see the point.

        J 1 Reply Last reply
        0
        • P PIEBALDconsult

          The concept is different.

          F Offline
          F Offline
          Florian Rappl
          wrote on last edited by
          #78

          What kind of concept are you talking about? That the labels are also used from the switch statement? That's certainly true but has nothing to do with goto. But you have been talking about that goto SOME_LABEL is different than goto case WHATEVER - which is wrong. I think you have never seen any assembler output from C code or MSIL from C#, just look at my example which will give you an impression of the MSIL generated from a switch-case in C#.

          P 1 Reply Last reply
          0
          • F Florian Rappl

            What kind of concept are you talking about? That the labels are also used from the switch statement? That's certainly true but has nothing to do with goto. But you have been talking about that goto SOME_LABEL is different than goto case WHATEVER - which is wrong. I think you have never seen any assembler output from C code or MSIL from C#, just look at my example which will give you an impression of the MSIL generated from a switch-case in C#.

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

            Florian Rappl wrote:

            goto SOME_LABEL is different than goto case WHATEVER

            Yes, of course.

            Florian Rappl wrote:

            assembler output

            Has no bearing on the discussion.

            F 1 Reply Last reply
            0
            • K Kent Sharkey

              Yes! And gosub.

              -------------- TTFN - Kent

              G Offline
              G Offline
              glennPattonWork3
              wrote on last edited by
              #80

              ahhh, the route to HELL :laugh:

              1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                Because I have A Dangerous Mind[^] :-D

                If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                E Offline
                E Offline
                Espen Harlinn
                wrote on last edited by
                #81

                You're forgiven[^] ;)

                Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                OriginalGriffO 1 Reply Last reply
                0
                • E Espen Harlinn

                  You're forgiven[^] ;)

                  Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                  OriginalGriffO Offline
                  OriginalGriffO Offline
                  OriginalGriff
                  wrote on last edited by
                  #82

                  That's all I need[^] to know.

                  If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                  "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                  E 1 Reply Last reply
                  0
                  • OriginalGriffO OriginalGriff

                    That's all I need[^] to know.

                    If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                    E Offline
                    E Offline
                    Espen Harlinn
                    wrote on last edited by
                    #83

                    Good, I apologize[^] for the interruption ...

                    Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                    OriginalGriffO 1 Reply Last reply
                    0
                    • E Espen Harlinn

                      Good, I apologize[^] for the interruption ...

                      Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                      OriginalGriffO Offline
                      OriginalGriffO Offline
                      OriginalGriff
                      wrote on last edited by
                      #84

                      Why? What have you done?[^]

                      If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                      E 1 Reply Last reply
                      0
                      • K Kent Sharkey

                        Sure, it's on another discussion site[^], but that doesn't mean we can't also discuss it here. Personally, while it certainly doesn't fit in the "missing" category, I see them moving it closer and closer to a hybrid C#/JavaScript language with each new version.

                        -------------- TTFN - Kent

                        R Offline
                        R Offline
                        rexnfx
                        wrote on last edited by
                        #85

                        Co-routines or a better way to do single threaded faux-parallelism than perverting iterators.

                        1 Reply Last reply
                        0
                        • P PIEBALDconsult

                          Florian Rappl wrote:

                          goto SOME_LABEL is different than goto case WHATEVER

                          Yes, of course.

                          Florian Rappl wrote:

                          assembler output

                          Has no bearing on the discussion.

                          F Offline
                          F Offline
                          Florian Rappl
                          wrote on last edited by
                          #86

                          Either you are incapable of understanding this or you just do not want to get this. Your statement that there are 2 gotos is wrong. From a language point of view using goto with some (arbitrary) label and with a case label is equivalent.

                          P 1 Reply Last reply
                          0
                          • P PIEBALDconsult

                            But you can't know what may be thrown by something it calls, so I don't see the point.

                            J Offline
                            J Offline
                            Jasmine2501
                            wrote on last edited by
                            #87

                            In Java, every function must declare all potential throws. The compiler looks down the call stack and makes sure that exceptions are either handled or declared in the throws. If not, it's a compilation error. That annoys many Java developers, which is why I think the feature should be optional. If it was optional, we could generate a warning on unhandled exceptions. IT would not be a compilation error like it is in Java. This wouldn't totally prevent any problems, but it would give developers a way to be more explicit about what exceptions can happen. For library designers this would be very helpful.

                            1 Reply Last reply
                            0
                            • T Thornik

                              I wanna have multi-return: (a, b) = SplitComplexNumber(d);

                              J Offline
                              J Offline
                              Jasmine2501
                              wrote on last edited by
                              #88

                              The only good feature of Ruby! AWESOME :)

                              1 Reply Last reply
                              0
                              • OriginalGriffO OriginalGriff

                                Why? What have you done?[^]

                                If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                                E Offline
                                E Offline
                                Espen Harlinn
                                wrote on last edited by
                                #89

                                I'm afraid I've made a shot in the dark[^]

                                Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                                OriginalGriffO 1 Reply Last reply
                                0
                                • E Espen Harlinn

                                  I'm afraid I've made a shot in the dark[^]

                                  Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                                  OriginalGriffO Offline
                                  OriginalGriffO Offline
                                  OriginalGriff
                                  wrote on last edited by
                                  #90

                                  Argh! You got me - I'm Blooded[^]

                                  If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                  "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                  E 1 Reply Last reply
                                  0
                                  • OriginalGriffO OriginalGriff

                                    Argh! You got me - I'm Blooded[^]

                                    If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                                    E Offline
                                    E Offline
                                    Espen Harlinn
                                    wrote on last edited by
                                    #91

                                    Oh, I'm so sorry - this must not be the The Last Time[^] we have such a jolly chat ...

                                    Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                                    OriginalGriffO 1 Reply Last reply
                                    0
                                    • E Espen Harlinn

                                      Oh, I'm so sorry - this must not be the The Last Time[^] we have such a jolly chat ...

                                      Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                                      OriginalGriffO Offline
                                      OriginalGriffO Offline
                                      OriginalGriff
                                      wrote on last edited by
                                      #92

                                      Murder![^] I'll see you caged[^] for this! :laugh:

                                      If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                                      "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                      "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                      E 1 Reply Last reply
                                      0
                                      • OriginalGriffO OriginalGriff

                                        Murder![^] I'll see you caged[^] for this! :laugh:

                                        If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                                        E Offline
                                        E Offline
                                        Espen Harlinn
                                        wrote on last edited by
                                        #93

                                        This is tuning into high drama - must our farewell [^] turn into such a bittersweet[^] afair. This is worse than A Demon's Fate[^], and now that peace is a Utopia[^] we will only be dealt a hand of sorrow[^] ...

                                        Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                                        OriginalGriffO 1 Reply Last reply
                                        0
                                        • E Espen Harlinn

                                          This is tuning into high drama - must our farewell [^] turn into such a bittersweet[^] afair. This is worse than A Demon's Fate[^], and now that peace is a Utopia[^] we will only be dealt a hand of sorrow[^] ...

                                          Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra

                                          OriginalGriffO Offline
                                          OriginalGriffO Offline
                                          OriginalGriff
                                          wrote on last edited by
                                          #94

                                          Uncle! Uncle! I surrender (before this thread runs off the right hand side of my browser)!

                                          If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.

                                          "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                                          "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                                          E 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