gpt4 book ai didi

C# 预处理器指令

转载 作者:行者123 更新时间:2023-11-30 19:47:49 25 4
gpt4 key购买 nike

在 C++ 中我们可以这样做:

struct {
#if defined (BIGENDIAN)
uint32_t h;
uint32_t l;
#else
uint32_t l;
uint32_t h;
#endif
} dw;

现在,在 C# 中就不那么简单了。我有一个测试 BigEndian 的方法,但要在编译时定义结构,我们如何在 C# 中获得相同的效果?我在想我可以拥有像“BoardBig”和“BoardLittle”这样的类,并使用工厂根据 IsBigEndian 检查获取我需要的类。对于 _WIN64 检查,我可以使用类似“Position_64”和“Position_32”之类的类。这是一个好方法吗?由于 C# 不能定义像 #define IsBigEndian 1 或你有的语句,所以不知道该怎么做。

最佳答案

更新:正如其他发帖人所指出的(赞成票),这不是 C# 字节顺序的解决方案。

C# Conditional compilation directives

  #if BIGENDIAN
uint32_t h;
uint32_t l;
#else
uint32_t l;
uint32_t h;
#endif

顺便说一句,如果可以的话,你应该避免这些。使代码更难测试。

关于C# 预处理器指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6105278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com