文本框字符串长度的问题.

Mr_graceless 2011-07-19 08:59:05
控件使用的是TextBox,MaxLength设置的是4,为了双重保险,正则表达式也设置了{0,4},问题来了,我输英文字母时,只可以输入4个,是正确的,但是输汉字居然也可以输4个??
这是怎么回事,汉字不是占两个字节吗,应该只能输入两个汉字啊.
而且调试程序里监视到这个控件的Length确实是4.
小人以前做Winform的,刚玩SL不久,请问这如何解释.
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jx0797 2011-07-30
  • 打赏
  • 举报
回复
.Net用的字符编码是Unicode编码,汉字字母都是一个Char
chen_ya_ping 2011-07-30
  • 打赏
  • 举报
回复
长度不是字节
Mr_graceless 2011-07-20
  • 打赏
  • 举报
回复
多谢一楼的热心回答,原来如此。多谢。我去试试。
但为什么我在WinForm下一直是这样用,为什么没出现这样的问题呢?
lcp147572931 2011-07-20
  • 打赏
  • 举报
回复
1楼正解 计算length都是一样长的 不是字节
infosys1125 2011-07-19
  • 打赏
  • 举报
回复
在计算字符串的长度的时候,一个汉字也占长度为1,一个英文字符占长度也是1。但这个长度不是字节长度,字节长度用int length = Encoding.Default.GetByteCount(this.textBox1.Text);
不一定是Encoding.Default,可以是Encoding.Unicode等等,很多编码方式可选.

8,737

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧