string str = "我社召开2003年工作部署计划修订工作会议";
str.Substring(0,20)的返回值是"我社召开2003年工作部署计划修订工作会"
怎么才能让它的返回值是"我社召开2003年工作部"?即一个中文字算2个字符?
这要自写函数了,对传递的每个字进行字节码比较,如果超过255,说明是中文字,就计二。
http://expert.csdn.net/Expert/topic/877/877757.xml?temp=.6683618
str.SubString(0,12)
本人认为,一个中文不是两个字符,而只是在内存中占两个字节而已。从你的str.SubString(0,20)的结果就可以看出一个中文字符和一个英文字符在SubSting的处理方式上是一样的
String 变量是 Char 的集合,而Char 类型是 16 位的 Unicode 字符
详见vs的帮助文档。
str.SubString(0,12)
看来只有自己做个类来实现了!微软好像没考虑到汉字的特殊情况啊!