微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – textbox是否将所有数字文本保存为long或字符串?

我和我的队友就此进行了简短的讨论.他说,如果我在文本框中输入一个数字,并尝试稍后使用textBox.text或val(textBox.text)来使用该值,我将不需要将该值解析为整数.据他说,如果text属性值是全数,你可以直接得到整数值,而不是字符串.

所以,如果我有textBox1.Text =“12345”,那么下次,如果我使用intABC = textBox1.Text,它就不会抛出错误.这样对吗? C#或其他.Net语言是否进行了隐式转换?此外,代码会将“12345”存储为字符串还是整数?这个值占用多少内存,5个字符为5个字节,整数为2个字节?

解决方法

TextBox.Text将文本保持为一个简单的字符串,它不关心字符串的真正“含义”.

然后,如果你想要返回你的数字,你需要解析字符串,因此不允许隐式或显式转换为int(或者更好的是,如果你这样做会抛出异常……).

关于大小,该文本存储为UNICODE(UTF-16)字符串,因此每个字符2到4个字节(取决于字符).

您可以使用以下代码轻松测量大小(只是字符串的大小,而不会因参考大小等而产生开销):

int numBytes = Encoding.Unicode.GetByteCount(stringToMeasure);

要查找有关字符串的更多信息,unicode和编码可以查看here,herehere.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐