【问题标题】:migrate delphi code to c#, char code number将delphi代码迁移到c#,char码号
【发布时间】:2013-10-24 15:35:06
【问题描述】:

我需要将一些 delphi 代码迁移到 c# (.net) 以用于我的 mv4 应用程序。这将取代现有 delphi 应用程序的一些功能,但我需要使用一些特定的功能。

主要问题是当我尝试从字符串中获取字符时:

FText = "123456";
i = 1;

德尔福:

a := Integer(FText[i]);

c#:

a = (int)FText[i];

但是 c# 返回 50 和 delphi 49

【问题讨论】:

    标签: c# delphi delphi-7


    【解决方案1】:

    Delphi 历来使用“长度前缀”字符串,其中长度指示符是string[0]。将字符串的第一个字符放在索引 1。自从在 Delphi 中引入“长字符串”后,字节数不再是索引 0,但字符串继续使用从 1 开始的索引。

    C# 对字符串使用从零开始的索引。当您将任何字符串代码从 Delphi 转换为 C# 时,您将需要处理不同的索引方案。

    【讨论】:

      【解决方案2】:

      C# 代码工作正常。 FText[1] == '2' 所以 ASCII 是 50。

      对 Delphi 不太了解,但可能没有 0 索引的表,所以 FText[1] == '1' 所以它的 49 ?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-14
        • 1970-01-01
        • 2012-02-27
        • 1970-01-01
        • 1970-01-01
        • 2011-04-29
        • 2011-02-09
        相关资源
        最近更新 更多