unsere besten emails
Registrierung
Teammitglieder
Zur Startseite
Mitgliederliste
Suche
Kalender
Häufig gestellte Fragen
Zum Portal

Dedies-Board » Software » Software allgemein » Ulkiges aus C# » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Ulkiges aus C#
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »

Vimes Vimes ist männlich
Super Moderator


images/avatars/avatar-14.jpg

Dabei seit: 27.03.2005
Beiträge: 1.316

Level: 49 [?]
Erfahrungspunkte: 9.420.190
Nächster Level: 10.000.000

579.810 Erfahrungspunkt(e) für den nächsten Levelanstieg

Ulkiges aus C# Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden   Zum Anfang der Seite springen

N Abend,

nach langer Pause habe ich mich dazu aufgerafft, einen C#-Programmierkurs mal wieder aufnzunehmen - ehe er verfällt, bezahlt ist er schon ... Augen rollen

Auf jeden Fall ist mir da gerade was lustiges aufgefallen. Der Tutor amüsierte sich darüber, daß man in C# tatsächlich das Relikt "Goto" implementiert hat.

Wenige Seiten später stellt er den Switch-Befehl vor, der gegenüber reinem C einen entscheidenden Nachteil hat: das weglassen von break; am Ende ist nicht mehr erlaubt und daher ein "fallthrough" durch die Ebenen nicht möglich:

Case 1:
// Tu irgendwas
break;

Case 2:
// Tu noch was

default:
// Tu das letzte
break;

Im obigen Falle wäre nach Abarbeitung des Falles 2 automatisch noch der Default-Fall abgearbeitet worden, weil das break; fehlte. Bei C# ist das nicht mehr möglich.

Soweit. Und jetzt kommts: Den fallthrough kann man dann mit ... einen Trommelwirbel bitte! - GOTO machen!! Ich schmeiß mich weg ...

MfG
Vimes


__________________
1. Kor 3,11: "Einen anderen Grund kann niemand legen als den, der gelegt ist, welcher ist Jesus Christus."
gnupg-Key-ID: 7C6A8303; Fingerprint: 9D29 C76C 4C7E 4A5C 8915 8686 49DE 7906 7C6A 8303
15.09.2011 21:57 Vimes ist offline E-Mail an Vimes senden Beiträge von Vimes suchen Nehmen Sie Vimes in Ihre Freundesliste auf Fügen Sie Vimes in Ihre Kontaktliste ein YIM-Name von Vimes: jesusrettet

Haui Haui ist männlich
Haudegen


images/avatars/avatar-123.jpg

Dabei seit: 29.04.2005
Beiträge: 522

Level: 44 [?]
Erfahrungspunkte: 3.719.401
Nächster Level: 4.297.834

578.433 Erfahrungspunkt(e) für den nächsten Levelanstieg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden   Zum Anfang der Seite springen

Ich hab diese strikte Ablehnung von Gotos, auf die man doch recht häufig trifft nie verstanden. Klar, Gotos zu verwenden um Schleifen nachzubauen ist Blödsinn, aber manche Dinge lassen sich damit einfach schöner schreiben als auf andere Weise. So sind Gotos in C imho immer noch die schönste Variante um auf verschachtelten Schleifen herauszuspringen. In Java kann man dafür Schleifenlabels vergeben, aber ob ich nun ein goto out oder break out schreiben ist doch prinzipiell egal. Ist halt so wie bei sehr vielen Sprachfeatures, man kann sich sinnvoll verwenden oder eben missbrauchen um krudes Zeug zu machen....


__________________
Have you tried turning it off and on again?

/join #dedies-board.de
17.09.2011 22:48 Haui ist offline E-Mail an Haui senden Homepage von Haui Beiträge von Haui suchen Nehmen Sie Haui in Ihre Freundesliste auf Jabber Screennamen von Haui: haui45@jabber.ccc.de

Vimes Vimes ist männlich
Super Moderator


images/avatars/avatar-14.jpg

Dabei seit: 27.03.2005
Beiträge: 1.316

Level: 49 [?]
Erfahrungspunkte: 9.420.190
Nächster Level: 10.000.000

579.810 Erfahrungspunkt(e) für den nächsten Levelanstieg

Themenstarter Thema begonnen von Vimes
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden   Zum Anfang der Seite springen

Da bin ich ganz bei Dir. Ich hab mich auch nur darüber amüsiert, daß zuerst die Beibehaltung von Goto als unverständlich gerügt und anschließend in einem Beispiel eben das geschmähte Goto als notwendiges Feature vorgestellt wird. *g*

MfG
Vimes


__________________
1. Kor 3,11: "Einen anderen Grund kann niemand legen als den, der gelegt ist, welcher ist Jesus Christus."
gnupg-Key-ID: 7C6A8303; Fingerprint: 9D29 C76C 4C7E 4A5C 8915 8686 49DE 7906 7C6A 8303
21.09.2011 19:46 Vimes ist offline E-Mail an Vimes senden Beiträge von Vimes suchen Nehmen Sie Vimes in Ihre Freundesliste auf Fügen Sie Vimes in Ihre Kontaktliste ein YIM-Name von Vimes: jesusrettet

Haui Haui ist männlich
Haudegen


images/avatars/avatar-123.jpg

Dabei seit: 29.04.2005
Beiträge: 522

Level: 44 [?]
Erfahrungspunkte: 3.719.401
Nächster Level: 4.297.834

578.433 Erfahrungspunkt(e) für den nächsten Levelanstieg

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden   Zum Anfang der Seite springen

Weil mir das immer zum Thema gotos einfällt und ich gelernt hab dass man das nicht machen soll, hier ein kleines Beispiel zum Missbrauch von gotos (funktioniert zumindest mit dem GCC, da der das unterstützt) großes Grinsen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
#include <stdio.h>
#include <stdlib.h>
void (*volatile f)();
void (*volatile g)();

void funcA(){
	printf("A1\n");
	f = &&l1; goto *g;
l1:	printf("A2\n");
	f = &&l2; goto *g; 
l2:
	goto *g;
}

void funcB(){
	printf("B1\n");
	g = &&r1; goto *f;
r1:	printf("B2\n");
	g = &&r2; goto *f;
r2: exit(0);
}


int main(){
	f = funcA;
	g = funcB;
	f();
}



__________________
Have you tried turning it off and on again?

/join #dedies-board.de
28.09.2011 19:07 Haui ist offline E-Mail an Haui senden Homepage von Haui Beiträge von Haui suchen Nehmen Sie Haui in Ihre Freundesliste auf Jabber Screennamen von Haui: haui45@jabber.ccc.de
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Dedies-Board » Software » Software allgemein » Ulkiges aus C#

Impressum|Boardregeln


secure-graphic.de
Board Blocks: 368.799 | Spy-/Malware: 5.599 | Bad Bot: 1.542 | Flooder: 281.746 | httpbl: 6.555
CT Security System 10.1.7 © 2006-2024 Security & GraphicArt

Ja, auch Dedies-Board verwendet Cookies. Hier erfahrt ihr alles zum Datenschutz
Verstanden;