AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Case-Anweisung für Strings?

Ein Thema von Taladan · begonnen am 18. Jul 2005 · letzter Beitrag vom 18. Jul 2005
Antwort Antwort
Robert_G
(Gast)

n/a Beiträge
 
#1

Re: Case-Anweisung für Strings?

  Alt 18. Jul 2005, 22:41
Welchen Sinn macht diese Einschränkung denn unter .Net? Es gibt doch kein endgültiges Kompilat mehr...
Kleines Beispiel:
Delphi-Quellcode:
type
  Cases = (First, Second, Third);

  SomeClass = class
  public
    procedure DoSomething(someValue : Cases);
  end;

implementation

procedure SomeClass.DoSomething(someValue : Cases);
var
 Dings :string;
begin
  case someValue of
    Cases.First : Dings := 'A';
    Cases.Second : Dings := 'B';
    Cases.Third : Dings := 'C';
  end;
  Console.WriteLine(Dings);
end;
Man könnte jetzt erwarten, dass hier wegen der Pflicht ordinaler Typen irgendwelche coolen Optimierungen laufen...
Pah! Das wird eigentlich erzeugt:
Delphi-Quellcode:
procedure SomeClass.DoSomething(someValue: Cases);
var
  text1: string;
begin
  if (someValue <> Cases.First) then
    if (someValue = Cases.Second) then
      text1 := 'B'
    else if (someValue = Cases.Third) then
      text1 := 'C'
    else
      text1 := 'A';

  Console.WriteLine(text1)
end;
Sorry, aber wo ist hier der Grund für diese Einschränkung? IMHO hat Abwärtskompatibilität seine Grenzen...
case of ist nett um Verschachtelungen zu vermeiden und die TString-Vorschlaghammer methode ist einfach nicht akzeptierbar...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz