我们的一位测试人员设法将滑块绑定变量设置为18888888888888888,通常只能取1-100之间的值。 (我可以在视图模型中观察它,它保存到xaml文件中。)这个数字有什么特别之处?
以下是一些细节。应用程序有一个滑块,它绑定到视图模型中的可观察属性。通常,当应用程序保存工作空间时,此视图模型将使用XamlServices.Save保存。我的测试人员报告了一些尴尬的行为,滑块的值在加载此项目时显示为-214。我让他把文件发给我,保存的xaml中的值包含我神秘的数字。
我知道这是我的代码或其他库代码中的错误的结果。我希望能够把它钉死。但是,正常的“垃圾”值不能是这样的。当我谷歌,我看到一些非编程相关的页面,这显示这个数字是在互联网的历史中生成的(所以这不是我的猫在做)。简而言之,我想弄清楚,首先如何创建这个数字,就像你看到INT_MAX + 1,如果你有足够的经验你可以识别它(-2137483648任何人?)。
答案 0 :(得分:2)
假设开头的1是占位符 - 将字符串显示为double的错误。
我们有16个8。 C#中的double类型具有高达16个字节的精度。这可能表示滑块显示正在尝试显示某种类型的垃圾双重值8888888888888888,或0x1000100010001000100010001000100010001000100010001000100010001000。
可能是测试人员将double的值变为某种NaN值。 (也许NaN会像这样显示)这肯定会解释字符串的长度。
此外,由于滑块类显示的限制仅显示 数字,因此可能应该阅读1x8888888888888888。垃圾进去,垃圾出来?
嗯,这是我的猜测。