首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# 中有关String.Length,该怎么解决

2012-04-17 
C# 中有关String.Length对于String obj 噢噢噢噢 和String strabcd为什么两者的String.Length都是

C# 中有关String.Length
对于String obj = "噢噢噢噢"; 和String str="abcd"
为什么两者的String.Length都是4?
String 是如何存放字符的?

[解决办法]
了解一下什么是unicode
[解决办法]
因为默认是unicode编码,一个汉字也是1个长度
[解决办法]

Length 属性返回此实例中 Char 对象的个数,而不是 Unicode 字符个数。 原因在于一个 Unicode 字符可能会用多个 Char 表示。 使用 System.Globalization.StringInfo 类来处理每个 Unicode 字符而不是每个 Char。

在某些语言(例如 C 和 C++)中,null 字符指示字符串的结尾。 在 .NET Framework 中,null 字符可以嵌入到字符串中。 当字符串包含一个或多个 null 字符时,这些空字符将包括在字符串的总长度中。 例如,在下面的字符串中,子字符串“abc”和“def”由一个 null 字符分隔。 Length 属性返回 7,表示它包含六个字母字符以及一个 null 字符。

http://msdn.microsoft.com/zh-cn/library/system.string.length.aspx

热点排行