【问题标题】:Conversion of C# code to Delphi code (if condition) [closed]将 C# 代码转换为 Delphi 代码(如果条件)[关闭]
【发布时间】:2017-03-22 10:42:41
【问题描述】:

我正在将一个 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# 代码的正确转换吗?

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

【问题讨论】:

  • 在你编译的时候有没有达到你想要的效果??这是最好的测试]
  • 只是很好奇:为什么要转换为更“利基”产品?
  • 我们很难在不知道什么类型的情况下提供建议。你为什么不把它剥离到你不明白的地方?想必你知道 C# 中的 && 和 Delphi 中的 and 是什么。所以从问题中删除它。也许您的问题是关于String.IsNullOrEmpty。您是否考虑过阅读文档来寻找答案?
  • 因为你似乎不想学习任何东西。您可以轻松阅读 C# 语言的文档,并能够自己理解 C# 代码。取而代之的是,您会寻找关于您的翻译是否正确的是/否答案。当您继续执行此任务时,您可能会一次又一次地这样做。我们不是翻译服务。您可以更有效地为自己解决这个问题,让我们给出是/否。然后你就会确信你做对了。最后,您将拥有更多知识并成为一名更好的程序员。
  • 此外,您错过了问题中的大量信息,您没有尝试在问题中将其归结为关键点,您包含的代码过多.总而言之,我判断你还不够努力。毫无疑问,你不会喜欢这种观点,人们很少喜欢。但说真的,你相信你还没有能力看懂这段C#代码吗?真的吗?!

标签: c# delphi


【解决方案1】:

在检查长度是否为 0 之前,您正在修剪 delphi 字符串。在 c# 中,仅包含空格的字符串不是 'NullOrEmpty'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2010-10-18
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多