C# C代码到Delphi代码的转换(如果条件)

C# C代码到Delphi代码的转换(如果条件),c#,delphi,C#,Delphi,我正在将一个C项目转换为Delphi,我正在努力处理这个C代码: if (!String.IsNullOrEmpty(myItem.mySubItem?.Content) && (myItem.Quantity == 0) && (String.IsNullOrEmpty(myItem.Description))) { continue; } 根据我的理解,Delphi代码应该如下所示: if assigned(myItem.mySubItem) and (

我正在将一个C项目转换为Delphi,我正在努力处理这个C代码:

if (!String.IsNullOrEmpty(myItem.mySubItem?.Content) && (myItem.Quantity == 0) && (String.IsNullOrEmpty(myItem.Description)))
{
  continue;
}
根据我的理解,Delphi代码应该如下所示:

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;
但我不是100%确定,因为从逻辑上讲,这是没有意义的。这是另一个故事。我的问题是:我的Delphi代码是引用的C代码的正确转换吗


如果错误,正确的代码是什么?

在检查长度0之前,您正在修剪delphi字符串。在c语言中,只包含空格的字符串不是“NullOrEmpty”。

编译它时它做了您想要的吗??这是最好的测试]只是很奇怪:为什么要转换成,比如说,更“利基”的产品?我们很难在不知道什么是什么类型的产品的情况下提供建议。你为什么不把它归结为你不懂的东西呢?大概您知道C中的&&和Delphi中的and。所以从问题中去掉这个。也许您的问题是关于String.IsNullOrEmpty的。你有没有考虑过阅读文档来找到答案?因为你似乎什么都不想学。您可以很容易地阅读C语言的文档,并且能够自己理解C代码。相反,你要寻找一个肯定/否定的答案,看看你的翻译是否正确。在继续执行此任务时,您可能会一次又一次地执行此操作。我们不是翻译公司。如果我们给你一个肯定/否定的答案,你可以更有效地为自己解决这个问题。这样你就有信心自己做对了。最后,你会有更多的知识,成为一名更好的程序员。此外,你错过了问题中的大量信息,你没有在问题中尝试将其归结为关键点,你包含了比需要更多的代码。总而言之,我觉得你努力不够。毫无疑问,你不会喜欢那种观点,人们很少喜欢。但是,你真的认为你没有能力理解这个C代码吗?真正地