![]() |
Frage zu (and)Operatoren in C#
Hallo zusammen,
folgende Zeile funktioniert in Delphi:
Delphi-Quellcode:
Wie ist das in C# zu schreiben. Gekommen bin ich bis dahin:
procedure TForm1.Button1Click(Sender: TObject);
begin Self.Button1.Enabled := (TreeView1.Selected <> nil) and (TreeView1.Selected.Count = 0); end;
Code:
Danach verliesen sie mich dann.
private void timer_Tick(object sender, EventArgs e)
{ this.ButtonFolderDelete.Enabled = (this.folderView.SelectedNode != null); } |
Re: Frage zu (and)Operatoren in C#
Code:
Dank der im Vergleich zu Delphi IMHO viel sinnvolleren Operatorrangfolge sparst du sogar zwei Klammern ;) .
private void timer_Tick(object sender, EventArgs e)
{ this.ButtonFolderDelete.Enabled = this.folderView.SelectedNode != null && folderView.SelectedNode.Nodes.Count /* ? */ == 0; } |
Re: Frage zu (and)Operatoren in C#
Danke.
|
Re: Frage zu (and)Operatoren in C#
Zitat:
... sie wegzulassen kostet ... ... Lesbarkeit. Ich nehm gerne Klammern in if abfragen auch wenn man sie nicht braucht. und so hat wohl auch damals der Mr. Wirth gedacht mfg Daniel |
Re: Frage zu (and)Operatoren in C#
Da der Ausdruck ziemlich lang ist, würde ich sowieso einen Zeilenumbruch einfügen und dann stören die Klammern nur noch.
Klammern zu Übersichtlichkeit einzufügen ist eine Sache, das geht auch in C#. Klammern allerdings durch eine dämliche Rangfolge aufzuzwingen, ist eine andere. Es ist einfach nur logisch, dass and als logischer Operator auf den unteren Plätzen rangiert (wobei wir bei Delphi wieder das Problem haben, dass and zugleich der binäre Operator ist, aber auch der ist in C# dem Äquivalenzzeichen untergeordnet). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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