【问题标题】:Hex Value for request.Timeout in C#C# 中 request.Timeout 的十六进制值
【发布时间】:2013-11-06 18:14:56
【问题描述】:

我使用反射器反编译了一个 DLL。检索到的代码将十六进制值放入 request.Timeout 的所有分配中。像这样的:

request.Timeout = 0x401640;

它编译得很好,但我不知道这样保留这些值是否会使应用程序在运行时表现相同。我可以将它们更改为 DEC,但问题是它们太多了,而且不实用。

我正在使用 .net 3.5。

我的问题是:它的行为是否与设置了 DEC 值一样? 谢谢。

【问题讨论】:

  • 在 Reflector 中,转到工具 -> 选项。选择数字格式:十进制,然后单击确定。然后关闭并重新打开 Reflector(将更改保存到配置)。下次你反汇编代码时,它会显示小数。

标签: c# .net hex reflector


【解决方案1】:

简短回答:是的

长答案:是的,但是您应该以任何方式将它们更改为十进制整数。编程是关于让软件正确运行,但它也与可读性有关。

无论谁在未来阅读该代码(包括你),都会更轻松。

【讨论】:

  • 如果确实需要,添加带有数字十进制表示的 cmets 会更安全。
  • @RobertHarvey 也许,但总有一天会改变值,但评论不会。代码应该足够清晰,需要尽可能少的 cmets。对价值发表评论感觉很愚蠢,但可能具有误导性/危险性。我的 2 美分
  • 将许多值更改为十进制表示几乎可以肯定会引入错误,否则这些错误不会发生,仅仅是由于输入或粘贴错误。如果 cmets 如此令人反感,我的投票是根据具体情况将它们转换为小数,如果实际需要的话。
  • 我只需更改 Reflector 以显示小数并再次反编译以完全避免使用十六进制。
猜你喜欢
  • 2011-06-01
  • 2014-11-30
  • 2011-12-09
  • 2010-10-03
  • 2018-07-26
  • 2011-08-04
  • 1970-01-01
  • 2014-07-03
相关资源
最近更新 更多