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