2017-03-22 2 views
-5

Ich bin ein C# -Projekt zu Delphi konvertieren und mit diesem C# -Code habe Schwierigkeiten:Umwandlung von C# -Code zu Delphi-Code (falls Bedingung)

if (!String.IsNullOrEmpty(myItem.mySubItem?.Content) && (myItem.Quantity == 0) && (String.IsNullOrEmpty(myItem.Description))) 
{ 
    continue; 
} 

Aus meinem dem Delphi-Code zu verstehen, sollte wie folgt aussehen:

if assigned(myItem.mySubItem) and (length(trim(myItem.mySubItem.Content)) > 0) and (myItem.Quantity = 0) and (length(trim(myItem.Description)) = 0) then begin 
    Continue; 
end; 

Aber ich bin nicht 100% sicher, denn logisch ergibt es keinen Sinn. Das ist eine andere Geschichte. Meine Frage ist: Ist mein Delphi-Code eine korrekte Umwandlung des zitierten C# -Codes?

Falls es falsch ist, was wäre der richtige Code?

+1

Hat es getan, was Sie wollten, als Sie es kompiliert haben ?? das ist der beste Test] – BugFinder

+0

Nur sehr neugierig: Warum zu einem, sagen wir, mehr 'Nischenprodukt' konvertieren? – Udontknow

+4

Ziemlich schwierig für uns, Ratschläge zu geben, ohne zu wissen, um was für einen Typ es sich handelt. Warum streichst du das nicht auf, was du nicht verstehst? Vermutlich wissen Sie, was '&&' in C# ist und was 'und' in Delphi ist. Entfernen Sie das also von der Frage. Vielleicht handelt es sich bei Ihrer Frage um 'String.IsNullOrEmpty'. Und haben Sie darüber nachgedacht, die Dokumentation zu lesen, um die Antworten zu finden? –

Antwort

1

Sie schneiden die Delphi-Zeichenfolgen ab, bevor Sie sie mit der Länge 0 vergleichen. In C# ist eine Zeichenfolge, die nur Leerzeichen enthält, nicht "NullOrEmpty".

Verwandte Themen