【问题标题】:Porting file preprocessing code from C to C#将文件预处理代码从 C 移植到 C#
【发布时间】:2010-11-18 11:37:54
【问题描述】:

我之前在 C 中使用预处理器制作了一个基本解释器,该预处理器减轻了解析等的大量负担。我现在想移植这个预处理器以在 C# 中使用,但我遇到了麻烦,因为我对 C# 还是很陌生。

我的旧预处理器做了这样的事情

变量 $mine= 这个; //奇怪的意图 变量 $something + $a=$b;

会变成机器可读的东西

var\0$mine\0=this\0;\0var\0$something\0+$a\0=$b\0;\0

(其中 \0 为 NULL,以便我可以非常轻松地获取变量和标识符的名称)

好吧,我用我的旧代码一次读取一个字节,并根据它是否有空格以及最后一个字符等是什么,然后它会插入字符、插入 NULL 或忽略字符。

好吧,我无法将其转换为 C# 代码。我正在使用 StringBuilder 类并使用 Insert() 一次插入一个字符。但我的问题是我不能使用 \0 作为字符值。我怎样才能使标识符名称仍然非常容易阅读?在这种情况下,有一个字符串数组或字符串构建器对象会更好吗?

【问题讨论】:

    标签: c# c string c-preprocessor porting


    【解决方案1】:

    我建议使用List<string>,并一次将一个项目添加到列表中。

    这为您提供了字符串数组的所有可用性,但它会动态增长。如果您使用这种方法,用于解析文件的 C# 代码应该比 C 代码更简单、更容易理解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 2015-06-18
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多