我在C#中有一个类,它从WMI类“SKU
”获取名为root\\Microsoft\\SqlServer\\ComputerManagement11:SqlServiceAdvancedProperty
的特性
如
PropertyName:SKU PropertyNumValue:2702571241
但是当我通过VB Script获取相同的属性时,结果如下。
PropertyName:SKU PropertyNumValue:-1592396055
哪个值正确?
它发生了什么转换?
答案 0 :(得分:0)
值相同,是一个四字节(DWORD)值,以十六进制显示为A115F6E9
。
您的C#代码将此视为无符号整数,而VBScript将其视为签名整数。您可以在各自的语言中使用这两个值。
如果要将结果与常量进行比较,则应使用两种语言中的HEX表示法定义常量,例如C#中的0xA115F6E9
和VBScript中的&HA115F6E9
事实上,Eric Lippert刚才写了an article,解释了如何在VBScript中将负数转换为Hex值。