我正在查看我工作的前雇员编写的一些代码,我注意到他有时使用十六进制表示法,其他时候使用十进制表示法。因为他早已离开我不能问他为什么,所以我希望这里有人可以看一看并启发我。
command.Parameters.Add("PI_EMPLOYEE_NUM",
OracleDbType.Varchar2, Trim(cn, 50),
ParameterDirection.Input);
command.Parameters.Add("PI_EMPLOYEE_DISPLAY_NM",
OracleDbType.Varchar2, Trim(displayName, 0xff),
ParameterDirection.Input);
command.Parameters.Add("PI_EMPLOYEE_ADDR_TXT",
OracleDbType.Varchar2, Trim(streetAddress, 0xff),
ParameterDirection.Input);
command.Parameters.Add("PI_EMPLOYEE_MAIL_CD",
OracleDbType.Varchar2, Trim(postOfficeBox, 50),
ParameterDirection.Input);
答案 0 :(得分:1)
通常,当表示的数字更多是技术计算机或硬件限制参数时,使用十六进制是有意义的,因为这些类型的值通常基于base-2结构,因为内部限制与数量相关联可以用某个二进制数表示的潜在值(例如,存储在8位字节或16位无符号整数中的值)
当值是业务限制时,更常用的是十进制表示,由一些与计算机或技术细节无关的外部业务模型规则驱动。
这可能不是你长期以来的同事所做的,但这是一种常用的模式。除此之外,两个表示中没有功能差异。
答案 1 :(得分:0)
看起来他正在使用字符串的十六进制和数字的十进制。
答案 2 :(得分:0)
我认为他使用十六进制表示0xff(255)表示它是(2 ^ 8 - 1)是有原因的。我不知道原因是什么。也许Oracle的列宽为2,效果更好?我之前从未听说过,所以我不知道是不是真的。