当前位置:编程学习 > C#/ASP.NET >>

字符串转换的问题

char[] buffer = new char[100];
string str = new string(buffer);
str.Length.ToString();
结果显示str长度是100
一个字也没往buffer里写
怎么回事? --------------------编程问答-------------------- char[] buffer = new char[100];
你的没填充数据。。。 --------------------编程问答-------------------- 默认每个字符都是0号(ascii码)字符 --------------------编程问答--------------------
引用 1 楼 NianHui 的回复:
char[] buffer = new char[100];
你的没填充数据。。。

填充了也还是100. --------------------编程问答--------------------
引用 2 楼 dalmeeme 的回复:
默认每个字符都是0号(ascii码)字符

该怎么处理,只保留0号之前的字符 --------------------编程问答-------------------- 另外obj.ToString().Length.ToString()时怎么会是0长度。 --------------------编程问答-------------------- 楼主,改成str.Trim().Length试试 --------------------编程问答--------------------
引用 3 楼 cbk808 的回复:
Quote: 引用 1 楼 NianHui 的回复:

char[] buffer = new char[100];
你的没填充数据。。。

填充了也还是100.


你用一个100个字符的数组初始化,虽然没填充,默认每个字符字符0,但是也是分配了空间了的。长度肯定是100啊,
--------------------编程问答--------------------
引用 5 楼 cbk808 的回复:
另外obj.ToString().Length.ToString()时怎么会是0长度。
。。。

这怎么会是0。。。 --------------------编程问答--------------------
引用 8 楼 NianHui 的回复:
Quote: 引用 5 楼 cbk808 的回复:

另外obj.ToString().Length.ToString()时怎么会是0长度。
。。。

这怎么会是0。。。

你的obj是“”????? --------------------编程问答-------------------- String的初始化代码不是.net实现的。如果按照.net的理念,或许会返回一个 String.Empty。但是它是调用 windows 底层 SDK 实现的,那个有着25几年以上历史的底层,传给它一个初始化了的数组(但是全都是默认字节0而不是可打印的字符),也会产生一个这么长的字符串(虽然是一串字节0)。 --------------------编程问答--------------------
引用 9 楼 NianHui 的回复:
Quote: 引用 8 楼 NianHui 的回复:

Quote: 引用 5 楼 cbk808 的回复:

另外obj.ToString().Length.ToString()时怎么会是0长度。
。。。

这怎么会是0。。。

你的obj是“”?????

Response.Write(Request.QueryString[0].ToString().Length.ToString()); --------------------编程问答--------------------
引用 10 楼 sp1234 的回复:
String的初始化代码不是.net实现的。如果按照.net的理念,或许会返回一个 String.Empty。但是它是调用 windows 底层 SDK 实现的,那个有着25几年以上历史的底层,传给它一个初始化了的数组(但是全都是默认字节0而不是可打印的字符),也会产生一个这么长的字符串(虽然是一串字节0)。

怎么处理去掉'\0' --------------------编程问答-------------------- 基本上,windows sdk是纯粹的微软c规范。一定要跟30年前的操作系统相兼容。而.net framework在现在微软ceo(普通销售员而非产品架构师)的这种领导下,估计也太好不了多少,也不会达到其承载相当一部分操作系统api功能的目的。 --------------------编程问答--------------------
引用 13 楼 sp1234 的回复:
基本上,windows sdk是纯粹的微软c规范。一定要跟30年前的操作系统相兼容。而.net framework在现在微软ceo(普通销售员而非产品架构师)的这种领导下,估计也太好不了多少,也不会达到其承载相当一部分操作系统api功能的目的。

能用来解决问题就行了,都是将就着用,管它搞个什么名堂出来。 --------------------编程问答-------------------- 不知道你要解决啥问题。。。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,