What Language Features Do You Miss In C#?
-
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
-
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
Universal C style casting of anything and everything. : )
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
-
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
Inline assembler.
-
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
Telepathic interface and direct print to the coffee machine.
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
-
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
I would like to see the addition of a keyword to allow fallthrough in a switch statement (maybe "nobreak"?). I don't need/want to do that often, so the compiler preventing "accidental" fallthrough is nice; however, it sure would be nice to be able to fall through when necessary.
-
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
-
I would like to see the addition of a keyword to allow fallthrough in a switch statement (maybe "nobreak"?). I don't need/want to do that often, so the compiler preventing "accidental" fallthrough is nice; however, it sure would be nice to be able to fall through when necessary.
You can use "goto" for a similar result.
-
Telepathic interface and direct print to the coffee machine.
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
I can see that linked to the compiler: kick off a long build, coffee gets made. I'm sure someone's built that already though...
-------------- TTFN - Kent
-
You can use "goto" for a similar result.
...And get derisive noises at the next code review! :laugh: Or, you could put both operations in methods and call them?
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
-
...And get derisive noises at the next code review! :laugh: Or, you could put both operations in methods and call them?
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
OriginalGriff wrote:
Or, you could put both operations in methods and call them?
Not great for all scenarios. FYI, I am talking about "goto case", not "goto label". The former is limited in scope and so isn't plagued by the spaghetti caused by the latter. :)
-
You can use "goto" for a similar result.
I could but then my keyboard would jump up and strangle me with the cable. :)
-
OriginalGriff wrote:
Or, you could put both operations in methods and call them?
Not great for all scenarios. FYI, I am talking about "goto case", not "goto label". The former is limited in scope and so isn't plagued by the spaghetti caused by the latter. :)
Ah, that's what you meant. I hadn't considered such a thing.
-
OriginalGriff wrote:
Or, you could put both operations in methods and call them?
Not great for all scenarios. FYI, I am talking about "goto case", not "goto label". The former is limited in scope and so isn't plagued by the spaghetti caused by the latter. :)
That's not very nice at all: since cases aren't named, they would either have to be anonymous (in which case a maintenance PITA if I insert a case between this and the next) or "goto case myEnum.myValue" which is kinda repellent as well. :laugh:
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
-
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
Compile-time templates, C++ style. Generics are great, unless you want to restrict a generic type argument to be "addable" or something like that. Probably not going to happen, given the direction it's taking. Also nice, "break out of named-loop", Java-style.
-
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
Support to use untyped generics. That is, everytime I have a generic type I also create a non-generic interface so I can use the object without using reflection/dynamic but with a considerable good speed. But it would be great if that was automatic. That is: List<int> only accepts int. I receive it in as a List<> parameter. In this case, all the T parameters, usually seen as int, could be seen as object, doing the casts that are necessary... Well, for the List itself we can already use the IList... but it will be great to have such resource so we could avoid creating interfaces to allow "the more generic, non-generic" call (that is, more generic because it is untyped... I also hate the name generic... it should be typed... a typed list... the ArrayList is the generic one... hehe).
-
Telepathic interface and direct print to the coffee machine.
If you get an email telling you that you can catch Swine Flu from tinned pork then just delete it. It's Spam.
You certainly go straight to The Heart of Everything[^]
Espen Harlinn Principal Architect, Software - Goodtech Projects & Services AS Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra
-
Support to use untyped generics. That is, everytime I have a generic type I also create a non-generic interface so I can use the object without using reflection/dynamic but with a considerable good speed. But it would be great if that was automatic. That is: List<int> only accepts int. I receive it in as a List<> parameter. In this case, all the T parameters, usually seen as int, could be seen as object, doing the casts that are necessary... Well, for the List itself we can already use the IList... but it will be great to have such resource so we could avoid creating interfaces to allow "the more generic, non-generic" call (that is, more generic because it is untyped... I also hate the name generic... it should be typed... a typed list... the ArrayList is the generic one... hehe).
Hmm. So, for every generic, you also get a Foo (with a better name)? Yeah, I could see how that might be handy for reuse: Bag, Bag etc. shoved into a generic Sort(Bag) method?
-------------- TTFN - Kent
-
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
sprintf sscanf
Steve Wellens
-
Hmm. So, for every generic, you also get a Foo (with a better name)? Yeah, I could see how that might be handy for reuse: Bag, Bag etc. shoved into a generic Sort(Bag) method?
-------------- TTFN - Kent
In my case, actually, for every Foo<T> I also have an IFoo where the parameters are as object instead of T. I think java have such feature (I know, in java the implementation is completely different)... I think they use: Foo<?> to say that they don't know the type being used. It is slower than having it rightly typed, but it is faster than having it as dynamic or through reflection.
-
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