Nia*_*ios 5 vb.net type-conversion
我遇到了一个“荒谬”的问题。
我试图将字符串转换为 int16(我被迫在 int16 中而不是在 int32/integer 中执行此操作)。
我的第一个想法是尝试:
convertedVal = Convert.ToInt16(newVal)
Run Code Online (Sandbox Code Playgroud)
抛出异常:值对于 UInt16 来说太大或太小。
但是我的字符串是“10”,所以它在 minValue 和 maxValue 之间。
我使用以下方法解决了我的问题:
convertedVal = Int16.Parse(newVal) 'TryParse works also
Run Code Online (Sandbox Code Playgroud)
虽然我解决了我的问题,但我不明白我做错了什么。
有人可以向我解释为什么会发生这种情况吗?
谢谢你的时间
这通常发生,如果有对字符串的额外的空间,所以最好Trim是
convertedVal = Convert.ToInt16(newVal.Trim())
Run Code Online (Sandbox Code Playgroud)